常用的git操作
一些常规的git操作
GIT常用操作
git stash
这个是个非常常用的功能。有时候你做了一些修改,你既不想commt做提交,也不想丢弃这个修改,而此时你又希望更新一下本地代码,想要在最新的代码上带上你的这个修改。这个时候git stash
就可以发挥功效了。
你先用git stash
将修改暂存,然后git pull
更新你的本地代码,再git stash pop
从暂存中恢复修改。十分开心的小技巧。
cherry-pick
git cherry-pick
命令的作用,就是将指定的提交commit应用于其他分支。例如git cherry-pick <commitHash>
命令就会将指定的提交commitHash,应用于当前分支。
cherry-pick
可以配合git fetch
使用。
git fetch 不改变本地仓库的代码,只是拉取了远程 commit 数据,将远程仓库的 commit id 更新为latest
1 | git fetach 源仓 commitid |
git rebase
当你想要合并两个commit时候。可以用到这个命令。
//TODO
追加操作
这里不讨论追加到最近一次的提交,那个比较简单,提交时候,git commit --amend
就好了。
下面介绍追加到之前的某次提交的步骤:
步骤1:如果已经做了修改,先使用git stash
暂存修改,否则忽略这步骤。
1 | git stash |
步骤2:查看历史提交信息
1 | git log |
步骤3:记录下要追加到修改的那个commit之前的一个commitid,比如它的值为abc23xxxx
1 | git rebase -i abc23xxxx |
步骤4:将要修改的那个commit对应的前面的pick
改为edit
,wq
保存修改
步骤5:如果步骤1做了暂存,这里先加载上暂存的修改,否则的话直接修改代码。
1 | git stash pop |
如果有冲突就解下冲突
步骤6:提交修改
1 | git add 修改的文件 |
步骤7:追加改动到commit上
1 | git commit --amend --no-edit |
步骤8:移动HEAD到最新的commit处
1 | git rebase --continue |