git reset
回退:一般我们在使用reset命令时,git reset --hard 会被提及的比较多,它能让commit记录强制回溯到某一个节点,而git reset --soft的作用正如其名,–soft 柔软的,除了回溯节点外,还会保留节点的修改内容。
将不该提交的内容commit了,想改回只能再commit一遍,多了一条黑历史 git reset --soft HEAD^ 已经push的commt,也可以使用该命令,不过再次push的时候,由于远程分支和本地分支有区别,需要强制推送git push -f 来覆盖reset的commit
在reset --soft 指定commit 号,会将该commit 到最近一次commit的所有修改内容全部恢复,而不是只针对该commit
cherry-pick
需求:将已经提交的commit,复制出新的commit应用到分支里 git cherry-pick [git log 的 commit记录] 比如:git cherry-pick 2b8bdfa9e18f8a67e8f47407ab554c5102b06d2c 一次转移多个提交: git cherry-pick commit1 commit2 ?? 命令将commit1和commit2两个提交应用出当前分支。 多个连续的commit,也可区间复制 git cherry-pick commit1^..commit3 ?? 将commit1到commit3这个区间的commit都应用到当前分支 代码冲突: 在cherry-pick多个commit时,可能会遇到代码冲突,这时cherry-pick会停下来,让用户决定如何继续操作。 使用cherry-pick --continue(继续) || cherry-pick --abort(放弃) 退出:git cherry-pick --quit
revert
revert掉自己的commit
|