从master创建一个新分支,我们称之为test。
有几个开发人员要么提交到master,要么创建其他分支,然后合并到master。
假设测试工作需要几天的时间,您希望通过master内部的提交不断更新测试。
我会从测试中提取原始主机。
问题1:这是正确的方法吗?其他开发人员可以像我一样轻松地处理相同的文件。
我的测试工作已经完成,我已经准备好将其合并回master。以下是我可以想到的两种方法:
A:
git checkout test
git pull origin master
git push origin test
git checkout master
git pull origin test
B:
git checkout test
git pull origin master
git checkout master
git merge test
我没有使用--rebase,因为根据我的理解,rebase将从master获取更改,并将我的更改叠加在上面,因此它可能会覆盖其他人所做的更改。
问题2:这两种方法中哪一种是正确的?有什么不同?
所有这一切的目标是让我的测试分支随着master中发生的事情而更新,然后我可以将它们合并到master中,希望尽可能保持时间线的线性。
重新基准和合并都不应覆盖任何人的更改(除非您在解决冲突时选择这样做)。
开发时的通常方法是
git checkout master
git pull
git checkout test
git log master.. # if you're curious
git merge origin/test # to update your local test from the fetch in the pull earlier
当你准备好合并回master时,
git checkout master
git log ..test # if you're curious
git merge test
git push
如果您担心在合并过程中出现问题,gitmerge--abort就在您身边。
使用推拉合并是愚蠢的。我也不确定你为什么要把测试推向原点。
重新基准和合并都不应覆盖任何人的更改(除非您在解决冲突时选择这样做)。
开发时的通常方法是
git checkout master
git pull
git checkout test
git log master.. # if you're curious
git merge origin/test # to update your local test from the fetch in the pull earlier
当你准备好合并回master时,
git checkout master
git log ..test # if you're curious
git merge test
git push
如果您担心在合并过程中出现问题,gitmerge--abort就在您身边。
使用推拉合并是愚蠢的。我也不确定你为什么要把测试推向原点。