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