繁体   English   中英

从github仓库派生出来的git pull产生冲突

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM