@zwh8800
2017-06-27T08:41:00.000000Z
字数 1423
阅读 288356
blog git 速查
为女朋友总结了一些常用的 git 操作。这个速查默认:以 master 为主分支,开发新功能创建新分支。

# 首先确保自己在 master 且代码是最新的git checkout mastergit pull# 在最新的代码上建一个分支git checkout -b xxx# 在本地进行开发do somethinggit commit -m "zzz"do somethinggit commit -m "yyy"do somethinggit commit -m "www"# 开发完成,push开发分支git push -u origin xxx# 在代码审核工具上创建 pull request# 根据别人的审核意见,修改代码do somethinggit commit -m "yyy"do somethinggit commit -m "bbb"# 将修改后的代码pushgit push# 审核通过,按按钮合并 pr
# 首先把 master 上的代码更新一下git checkout mastergit pull# 然后把开发分支的代码 rebase 到最新的代码之上git checkout xxxgit rebase master# 这时,会出现冲突,打开文件,手动把文件修改正确# 然后执行这个:git add .git rebase --continue# 这时,开发分支 xxx 已经和 master 没有冲突了,push 上去git push# 在代码审核工具上,按按钮合并
# 把修改暂存起来git add .git stash# 可以查看刚刚暂存的信息git stash list# 现在需要继续开发,把暂存的东西 pop 出来git stash pop# 现在再看暂存列表,已经清空了git stash list
# 只提交这几个文件git add 1.go 2.go 3.gogit commit -m "zzz"# 看一下,剩下的文件确实未提交git status# 暂存git add .git stash
打开 sourcetree

选中像提交的行,点按钮暂存行
然后:
# 只提交某几行git commit -m "zzz"# 看一下,剩下的行确实没提交git status# 暂存git add .git stash
已暂存的修改,叫做
stashed changes
git reset HEAD 1.go# 如果想把所有文件都未 add 的状态git reset HEAD .
已经被 add 的修改,叫做
staged changes;未 add 的叫做unstaged changes
git checkout -- 1.go# 如果想把所有文件都变回未修改的状态git checkout -- .
# 回到上一个 commit,把这个 commit 的修改变成 unstaged changesgit reset HEAD^# 把 unstaged changes 变回未修改的状态git checkout -- .# 重新写
# 同上,但是最后再push的时候需要加 -fgit push -f
# 创建一个和上个提交完全相反的提交git revert HEADgit push
