[英]git pull from a github repository fork gives conflicts
我在github上分支了git://github.com/rails/rails.git
。 我的分叉存储库位于git://github.com/waseem/rails.git
。 我想测试其他用户提交到rails mainline的一些补丁。 可以说我想在git://github.com/joelmoss/rails.git
migration_status
分支中测试代码。
可以说我
master $ git remote add joelmoss git://github.com/joelmoss/rails.git
。 和
master $ git remote add mainline git://github.com/rails/rails.git
。
我一直在从Rails Mainline进入我的主人。
master $ git pull mainline master
根据http://guides.rubyonrails.org/contributing_to_ruby_on_rails.html#testing-patches,我应该创建一个本地主题分支,并从joelmoss/migration_status
中进行更改。 所以我,
master $ git checkout -b migration_status
创建本地主题分支。
当我这样做时:
migration_status $ git pull joelmoss migration_status
我遇到很多冲突。 我也尝试了migration_status $ git pull --rebase joelmoss migration_status
但是我仍然遇到冲突。
在pull --rebase
的情况下,我认为(如果正确,则正确),git尝试将我的本地更改应用于从joelmoss/migration_status
获取的更改joelmoss/migration_status
。 理想情况下,它应该相反。 为了考虑此选项,我做了以下工作。
master $ git fetch joelmoss
master $ git checkout -b joel_migration_status joelmoss/migration_status
和
joel_migration_status $ git rebase master
它仍然给了我很多冲突。
如何提取提交到本地主题分支之一的补丁程序而不会产生冲突? 我无法解决那些冲突,因为我对什么代码不知道该怎么做并不了解。
在这种情况下, joelmoss/migration_status
看起来是基于3.1.0的,该版本从5月的mainline/master
分裂而来。 因此,如果您进行合并,那么您试图调和每个人4个月的开发价值,而这些分支似乎从未打算进行合并。
您要做的是将本地更改也基于3.1。 那不能保证消除所有冲突,但是至少它应该是您所知道的,因为它是您直接更改的代码。
git checkout -b master-3-1 master
git rebase --onto joelmoss/migration_status mainline/master master-3-1
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.