Git:及时分支(并切换头部)
Git: Branch back in time (and switch head)
上周,我开始了一个使用开源库的新项目。我在该库中发现了一个错误,将其分叉到 Github,修复了该错误,并提交了 PR。我收到了一些评论并做了更多的提交来更新我的 PR:
|-my commit 3 <- master (PR#1)
|-my commit 2
|-my commit 1
|-commit x <- remote:master
...
在等待我的 PR 被合并时,我发现了另一个错误,创建了一个错误报告,在提交 x 处分支,提交了一个修复并创建了另一个 PR:
|-my commit 3 <- master (PR#1)
|-my commit 2
|-my commit 1
| |-my commit 4 <- fix_bug_2 (PR#2)
|/
|-commit x <- remote:master
...
所以我最好在第一次提交之前进行分支。有什么方法可以修复它,以便我可以轻松地跟踪上游,同时为我发现的新错误创建更多 PR,而不会弄乱我现有的 PR?它应该是这样的:
|-my commit 3 <- fix_bug_1 (PR#1)
|-my commit 2
|-my commit 1
| |-my commit 4 <- fix_bug_2 (PR#2)
|/
|-commit x <- master, remote:master
...
类似于:
- 在提交 x
时创建新分支“fix_bug_1”
- 用fix_bug_1
切换主控
- 确保 PR#1 仍然包含与以前相同的提交
或者我应该等到 PR#1 被合并,从现在开始永远记住不要在头上工作?
在“与 master
相同的提交”处创建名为 fix_bug_1
的分支:
git branch fix_bug_1 master
强行移动master
到origin/master
所在的位置:
git branch -f master origin/master
据我所知,在 github 中无法更改 PR 的“源分支”,您必须创建一个新的 PR 来跟踪您的新分支。
上周,我开始了一个使用开源库的新项目。我在该库中发现了一个错误,将其分叉到 Github,修复了该错误,并提交了 PR。我收到了一些评论并做了更多的提交来更新我的 PR:
|-my commit 3 <- master (PR#1)
|-my commit 2
|-my commit 1
|-commit x <- remote:master
...
在等待我的 PR 被合并时,我发现了另一个错误,创建了一个错误报告,在提交 x 处分支,提交了一个修复并创建了另一个 PR:
|-my commit 3 <- master (PR#1)
|-my commit 2
|-my commit 1
| |-my commit 4 <- fix_bug_2 (PR#2)
|/
|-commit x <- remote:master
...
所以我最好在第一次提交之前进行分支。有什么方法可以修复它,以便我可以轻松地跟踪上游,同时为我发现的新错误创建更多 PR,而不会弄乱我现有的 PR?它应该是这样的:
|-my commit 3 <- fix_bug_1 (PR#1)
|-my commit 2
|-my commit 1
| |-my commit 4 <- fix_bug_2 (PR#2)
|/
|-commit x <- master, remote:master
...
类似于:
- 在提交 x 时创建新分支“fix_bug_1”
- 用fix_bug_1 切换主控
- 确保 PR#1 仍然包含与以前相同的提交
或者我应该等到 PR#1 被合并,从现在开始永远记住不要在头上工作?
在“与 master
相同的提交”处创建名为 fix_bug_1
的分支:
git branch fix_bug_1 master
强行移动master
到origin/master
所在的位置:
git branch -f master origin/master
据我所知,在 github 中无法更改 PR 的“源分支”,您必须创建一个新的 PR 来跟踪您的新分支。