有一个名为develop
的主分支。分支(feature_branch_1
)起源于开发分支。我正在feature_branch_1
进行更改。假设我将在feature_branch_1
工作两周。
每天我都需要feature_branch_1
同步开发分支更改(develop
分支将进行更改
其他人,我需要进行这些更改,以便我的feature_branch_1
不会偏离develop
分支,我也知道develop
分支中发生了什么)
我尝试将git rebase develop
用于此目的,如下所示,
git checkout develop
git pull
git checkout feature_branch_1
git rebase develop
起初很不错,但是当我对feature_branch_1
进行更多更改时,将引入更多冲突。 (它说我自己的提交相互冲突,它的可能意味着我的两个提交修改了同一个文件中的同一行,而Git不知道要应用哪个更改< / strong>)解决这个问题非常困难和耗时。
我是否使用rebase 做错了?如何让feature_branch_1
始终与develop
分支同步(最少需要与过去24小时内的最新更改同步)
注意: 我还检查了其他相关的SO问题。根本没有使用rebase,我们可以做到这一点。如下,
git checkout develop
git pull
git checkout feature_branch_1
git merge develop
之后,
git push origin/feature_branch_1
我每天都可以执行此操作,并使feature_branch_1
与develop
同步。 有没有办法在没有我自己的提交相互冲突的情况下使用rebase
执行此操作?
答案 0 :(得分:0)
是的,你是对的。冲突文件数量取决于相关提交的更改。如果develop
和feature_branch_1
都更改了许多文件,则可能会有更多冲突。
还有另一种方法可以做同样的事情:
git checkout feature_branch_1
git pull origin develop --rebase
这将使您的feature_branch_1
基于最新的develop
分支。
如果您的feature_branch_1
在上次与develop分支同步后有多次提交,则可以在此时间同步之前压缩这些提交,以便提交历史记录更清晰。
要使用rebase或merge,它取决于您是否需要为主项目做出贡献。 rebase只是让你在最新的开发分支上工作,合并可以使我们的工作成为主项目的一部分。