修改不在分支顶端的提交的最快,最乏味的方法?

Ear*_*rey 2 git atlassian-sourcetree

我有时会遇到一种情况,我需要修复一个不在分支尖端的提交中的一行代码.(它是从顶部的第二或第三).我当然可以将最后一次或两次提交放在某处,修改有问题的提交,然后将这两个提交放回顶部,如果它,但我想知道是否有一个单击解决方案

1) SourceTree
2) git command line
Run Code Online (Sandbox Code Playgroud)

因为我认为上面描述的整个hoopla-doopla有点乏味.

不言而喻,我在谈论私有代码,功能分支,没有任何东西被推送到神圣的企业存储库,所以改变历史根本不是问题.

任何帮助,想法?

Wol*_*olf 7

当我处于这种情况时,我会使用git rebase -i,例如,如果我想改变bad_commit:

git rebase -i bad_commit^
Run Code Online (Sandbox Code Playgroud)

然后将结果列表中bad_commit的操作更改为eedit.重新定位将停止此消息:

You can amend the commit now, with

    git commit --amend

Once you are satisfied with your changes, run

    git rebase --continue
Run Code Online (Sandbox Code Playgroud)

你可以自由地做出你想要的任何改变bad_commit.然后当你git rebase --continue提交的提交将被适当地重新创建.