我在一个月前为我的代码创建了一个新分支,我从 develop 分支创建了 feature1 分支。
⇒ git branch
develop
* feature1
我已经在 feature1 上工作了一个月,并且很多更改都推送到 develop 分支,如何更新我当前的分支 feature1 开发的最新提交?
我不想结帐主人并合并我的 feature1 分支。我不想使用 git cherry-pick 手动将提交从开发转移到feature1。
有任何帮助吗?
答案 0 :(得分:58)
您只需将develop合并到feature1:
git checkout feature1
git merge develop
不需要涉及另一个分支,例如master。
答案 1 :(得分:9)
首先更新您的开发分支,然后签出您的功能并将其合并。
git checkout develop
git pull
git checkout feature/myfeature
git merge develop
or git rebase develop
完成时进行推送(例如用于请求请求)
git push origin feature/myfeature
与git rebase之间的区别是rebasekeep保留了分支中的所有提交历史记录,如果您的部分提交包含很多有趣的内容,则这一点很重要。在某些团队中此选项是必需的。
答案 2 :(得分:4)
此用例对保持PR分支的更新非常有帮助。首先,我建议您首先获取您的远程更改,即git fetch
然后从develop
,但从远程站点,例如
git rebase -i origin/develop
或
git merge origin/develop
这样,您将无需在分支之间来回移动即可更新PR分支。
答案 3 :(得分:1)
BRANCHS:
DEV ====>开发
feature1 ====>工作
步骤1 从站点进行GIT发送
检查您要同步的分支
git status
添加提交文件
git add .
提交说明
git commit -m "COMMENT"
发送到您已同步的分支
git push
第2步 与DEV同步更新的工作分支(开发)- 将工作分支与开发分支同步(更新开发分支)
与遥控器同步并切换到DEV分支
git checkout DEV
请求合并要与Feature1分支同步的分支
git merge feature1
将当前分支与feature1分支合并
git push
第3步 GIT查找远程-从更新的开发分支更新工作分支
连接到参考分支
git checkout DEV
搜索更改
git pull
与您的工作分支同步
git checkout feature1
请求合并与DEV分支同步的分支
git merge DEV
将当前分支与DEV分支合并
git push
答案 4 :(得分:0)
答案 5 :(得分:0)
为避免使用简单的合并来开发提交,我发现特别是如果您已经按下,则更容易( techier 则更简单) >:
feature1_b
feature1
合并到feature1_b
feature1
,请删除因此,当您将feature1_b
的PR进行开发时,它将仅具有您的新更改,而没有整个提交的历史记录。
如果您尚未推送,那么@stackdave的答案将是一个不错的答案。
答案 6 :(得分:0)
$ git checkout <another-branch> <path-to-file> [<one-more-file> ...]
$ git status
$ git commit -m "Merged file from another branch"
答案 7 :(得分:0)
如果您不希望 develop
头和 feature1
头将两者合并为 feature1
,而是希望在“更新”{{ 1}} 分支与来自 feature1
的最新编辑,使用无快进:
develop
我个人尝试在每次执行合并时使用 git pull
git co feature1
git pull
git merge --no-ff develop
git push
,因为在我看来它可以保持历史记录非常干净。
答案 8 :(得分:-1)
然后根据您的要求运行合并或变基