git - git - 拉入另一个分支已更新的工作
问题描述
我和另一个人一直在不同的分支上工作,但是我需要其他用户分支的一些工作。
几天前 - 我用git merge origin/other-persons-branch
在自己的分支上。这工作正常,从那时起我在上面添加了一些提交。但是 - 我必须再次将他们的更改拉到我的分支上,如果我git merge origin/other-persons-branch
再次这样做,它会有一大堆合并冲突。
我尝试了一个普通的 rebase ( git rebase origin/other-persons-branch
) 作为测试——它也有同样的合并冲突。
我想知道是否有更好和/或更清洁的方法来做到这一点。我正在考虑恢复作为它们合并的提交数组,并可能再次尝试合并。我认为这样做的问题较少。欢迎任何见解!
解决方案
通常你需要更喜欢主分支(通常master
)。或者如果你不能准备好把它交给主控,你必须考虑作为主控的一些主分支。假设你有分支main
。
您通过创建一个current
分支开始工作:
git fetch origin
从远程更新主分支git checkout -b current origin/main
current
基于main
分支创建并切换到分支
因此,当您完成一些工作时,您可以将下一步工作放到main
,(假设您在current
分支中):
git fetch origin
从远程更新主分支git rebase origin/main
在主分支之上重新调整你的工作git push origin current:main
- 让你在current
分支中工作到远程main
分支
所有团队成员都必须使用相同的方法。任何操作,如amend
提交等,只能在 rebase 并将提交推送到远程之前执行。
推荐阅读
- asp.net - 将字符串从视图发送到控制器 ASP.Net mvc
- cmake - ctest -R 使用的正则表达式语言的语法
- php - Laravel - 尝试将项目连接到数据库的问题
- r - R 中的变音符号未正确显示
- amazon-web-services - Terraform 计划命令失败
- python-3.x - mac中导入ortools
- java - 从嵌套哈希图中删除条目时java中的ConcurrentModificationException
- python - Python3 Windows 7 文件路径处理
- c++ - 我应该以什么顺序构建我的 C++ 静态库
- java - 如何使用休眠将日期设置为实体中的主键