2016-11-29 86 views
0

我必須對回購請求進行拉取請求。 我克隆項目,它只有一個分支:masterGit - 解決拉請求之前的主分支和功能分支之間的衝突

我簽出一個新的分支feature並提交我的更改到這個分支。

我把我的分支推到Github上,現在我可以提出拉取請求。所以我這樣做,但它現在告訴我,我有衝突。 enter image description here

我明白這個問題。 masterfeature之前,因爲我沒有「拉」最後一次變更,當我對feature進行工作時,已經對主人進行了更改。

我該如何解決?我怎樣才能將主人的最後變化「拉」到我的feature分支?

+1

您需要在本地合併或重新綁定並推送結果。 – CollinD

回答

4

通過合併固定:

git fetch origin   # gets latest changes made to master 
git checkout feature  # switch to your feature branch 
git merge master   # merge with master 
# resolve any merge conflicts here 
git push origin feature # push branch and update the pull request 

通過底墊固定:

git fetch origin   # gets latest changes made to master 
git checkout feature  # switch to your feature branch 
git rebase master  # rebase your branch on master 
# complete the rebase, fix merge conflicts, etc. 
git push --force origin feature 

仔細注意,作爲底墊有效地重寫大概需要重訂後--force選項上推feature分支。這意味着您需要通過強制推送來覆蓋GitHub中的舊分支。

無論您是進行合併還是重新綁定,之後都應該解決衝突,並且您的審閱者應該能夠完成請求。

0
$ git checkout feature     
$ git fetch 
$ git pull origin master 

現在應該發生衝突。現在,如果你想保持主人的變化

$ git status       # See the untracked files (conflict files) 
$ git checkout --theirs <file-name> # Accept the master's change 

,或者,如果你想保持你的(features變化) $ git的結帳--ours

添加,提交和推feature分支

$ git commit -am <commit-message>  # Add & Commit 
$ git push origin HEAD     # Push to remote feature branch