我有以下情况,我不确定最佳工作流程是什么。我绝对需要一些建议:
我们有:
- 存储库origRepo
(分支:master
)和
- 一个分叉fork
(分支:master
,远程分支origRepo/master
)
我们可以假设master
分支始终更新,在回购fork
中
git fetch origRepo/master
git checkout master
git merge origRepo/master
有些用户处理了fork
repo并创建了一些分支test
。
以下方案中的用户应该使用哪种工作流程:
情景1:
他正在工作,只是注意到文件 A 中的错误,该错误应立即在master
中更新。
test
中的“BUGFIX”?如何进行??将test
与master
合并不起作用,因为仍有未完成的工作。pull master
吗?然后获取最新版本的master
从bugfix
签出分支master
,提交固定文件
A ,然后与bugfix
和master
合并test
以获取两个分支的更改。我无法理解如何将分支test
中的修改后的文件 A 导入bugfix
分支以便能够提交。我的意思是,在分支bugfix
中再次编辑文件 A 是多余的。
场景2:
他已多次提交,他的工作目录现在对未完成的工作感到困惑,他的工作目录很干净(git status
)。他现在意识到他有几个更新的文件,应该在master
分支中更新,他是如何做到的?
我遇到的最后一个问题是:
test
分支如果准备合并,如果只想合并选择性文件,应该如何合并到master
。我们可以这样做:
git checkout master
git merge --no-ff --no-commit test
git add -i # to interactively stage and unstage files which should not be merged into master again, because the might have been changed only for testing purposes.
git commit -m "merging test"
我真的很感谢关于这些场景的一些提示。在这一刻,我几乎不知道该怎么做?采摘樱桃?合并?
我大多不想rebase
,因为我不喜欢这个工具,我宁愿想要merge
,这对我来说更直观。