这个文章有点乱,留给本身看吧!git
命令语法:bash
git rebase -i 某次提交前一次commitId
复制代码
修改倒数第二次提交 feature/b 倒数第三次提交
变为 feature/b 倒数第二次提交
spa
最后一次提交信息,可使用比较简单操做3d
1.2.1 提交 commit 信息的有错别字,😂code
git commit --amend --no-edit
复制代码
1.2.2 提交时,发现代码少写或多写了。想修改提交,保持上次提交信息cdn
git add .
git commit --amend # 进入 commit 编辑,但只需:wq
复制代码
这一步骤,也可利用 git reset
回滚代码来操做,不过那样子太复杂了。blog
这两个只是代码回滚,可是可变相理解,撤回最后一次说起,后的 commit 信息修改。开发
说到git reset 就不得说一下revert,这两种命令区别以下:文档
git revert
原有的 commit 保留,并会多一条 Revert 的commitit
git reset
撤销原有的 commit,修改代码并提交后,就得 git push -f
进行强推远程
经常使用命令语法:
# revert
git revert head~count # 回滚最后 count 次提交
git revert commitId # 回滚到某次的 commit 提交
# reset
git revert head~count # 回滚最后 count 次提交
git revert commitId # 回滚到某次的 commit 提交复制代码
2.1 多我的在同一个分支开发(先说明这点作法是不合理,但总会有历史缘由😂,出现这种状况),让别人知道你的代码回滚,不影响别人commit,使用 git revert
,好处在于不强推。
2.2 代码回滚,在不会影响到其余人的时候,使用 git reset。
若是 git reset 后的代码能够保留在工做区,能够修改在从新commit;若是想删掉,直接 git checkout head .
(不过这能够简化,git reset --hand
,回滚后代码不会保留);
git reset 操做细分有不少状况,具体查文档。
遇到这种状况,使用 git cherry-pick
。以下图,feature/a 合并 feature/b 倒数第二次提交
命令语法:
git cherry-pick commitId
复制代码
这个命令很强大,不单单只是合并多个提交,还能修改提交记录。但最主要用它合并记录。
命令语法:
git rebase -i 某次提交前一次commitId
复制代码
以下图,把 feature/b 分支倒数第一和第二合在一块儿,变成倒数第一
可使用git reset,以下图,把 feature/b 分支最后两次commit 合在一块儿
使用这个缘由是比 git rebase 操做简单