最近由于不知名原因,github 都无法顺畅访问了,科学上网之后,可访问。有些同学一直使用 Sourcetree 可视化操作 Git ,突然要用命令行操作,有点厉害,干掉了不少的代码,所以写一个简单的 git 操作指南。
终端科学上网
这个操作要在当前设备已经科学上网的前提下才有效,当你选择“全局规则”的时候,经常网页无法直接访问,随意一般我会使用“规则判断”,然后在需要的终端手动开启。
export https_proxy=http://127.0.0.1:1087 http_proxy=http://127.0.0.1:1087 all_proxy=socks5://127.0.0.1:1086
克隆仓库
将一个已知的远程仓库下载到本地
git clone https://github.com/xiaohuoni/git-test.git
新建空白仓库
新建一个本地空白仓库或者首次提交代码时经常用到,本地创建之后,后续如果可以恢复使用 Sourcetree ,可以通过“添加已经存在的本地仓库”来绑定
git init git remote add origin https://github.com/xiaohuoni/git-test.git
拉取代码
同步某个分支到最新的代码,建议每一次开始开发之前先拉取一下代码,可能其他小伙伴默默加班的成果。
etch origin git pull origin master
提交
提交之前先拉取代码,提交之前先拉取代码,提交之前先拉取代码。惨痛的教训啊。
it add CHANGELOG.md // 提交全部修改 可以使用 git add * git commit -m "chore: git 操作演示"
推送
将你的当前提交记录,推送到远程分支。你可以理解“提交”操作,是一个本地暂存。比如当你某个功能未开发完毕,却要临时解决一个紧急 bug 的时候,你就可以先提交本地操作,然后从主分支新建一个分支来修复 bug。
git push origin refs/heads/master:refs/heads/master
创建新分支
在选中分支的基础上新建一个全新的分支。
git branch test-branch
删除分支
删除某个分支,当你的分支代码没合并到主分支之后,你可以考虑删除它。删除分支之前要先切换到到其他的分支。
git branch -d test-branch
切换分支
git checkout test-branch
回滚
当某次提交操作错误,如覆盖了其他人的代码,这时你可以备份自己的代码,然后执行回滚操作,找回其他人的代码之后,再重新提交自己的代码。
git reset --hard HEAD^ 回退到上个版本 git reset --hard HEAD~3 回退到前3次提交之前,以此类推,回退到n次提交之前 git reset --hard commit_id 退到/进到 指定commit的sha码
查看提交历史
当你需要回滚到某次提交的时候,你需要知道 commit_id,你就可以通过这个命令查看。这个命令还有其他有意思的用处,比如在一些 git 相关的可视化展示时,可以用它来获取仓库的提交数据。
git log // 不传入参数,会按时间顺序列出提交记录,最常用于查看 commit_id
变基
没有这个操作,你应该用不到它,谢谢!
一些常用命令的记录,找到你在 Sourcetree 的可视化操作,然后,复制粘贴下面的命令。更多 git 操作,可以参看官网 https://git-scm.com/book/zh/v2 (中文文档)