假設我已經分叉了https://github.com/user/proj.git並且在叉子的(主分支)上做了重要的開發。如何爲您已分叉的項目做出貢獻?
我想解決上游存在的問題(我沒有在我的fork中修復)。如果我理解正確的話,我應該創建一個特性分支關閉上游對他們的主人最後一次籤的:
git fetch upstream
git checkout upstream/master
git checkout -b my_new_feature
這些命令的第二個讓我知道,我在「分離的頭」狀態..是我需要關心的任何事情(瞭解執行此任務)?
現在,我做我的變化,然後將修改後的文件git add
和git commit
,然後git push
到github上,但是當我創建一個拉請求,我聽說我的拉力要求不能自動合併,因爲沒有發生衝突我做過的更改以及在執行git fetch
後檢查爲upstream/master
的更改。
衝突的變化在語義上是等效的,所以我想推遲到upstream/master
的版本。在解決衝突的同時,我如何重新設置(這正是我想要做的,對吧?)upstream/master
我的拉動請求? (我很熟悉Subversion和git中的新手,如果這有助於回答..)
是的,我想我明白了。我有我自己的fork,我的fork連接到上游,我獲取上游,所以我的wc知道在那裏做的更改,然後我在fork中創建一個新分支,但是沒有上游最新簽入。我推到我的叉子,然後創建一個拉請求。正是這個拉取請求是有問題的,因爲它包含了與分支之後對上游/主服務器所做更改的衝突。 – thebjorn
然後,您需要合併上游所做的更改並使代碼正常工作,然後_then_創建請求。這實際上是一件非常好的事情,因爲它給提交者帶來了負擔,而不是合併。 –
所以你不應該在這種情況下重新綁定..? – thebjorn