2016-12-15 48 views
-1

我是git的新手,我真的很難理解它的許多概念。Git:如果需要使用其他更改升級分支,如何將更改合併到分支?

我不得不在一個我沒有碰過幾天的分支上更改1個文件,所以簽出了該分支,進行了更改並將其推回。不過,我收到了一個錯誤,說我正在嘗試fast-forward,並且有我需要合併的內容。所以,我決定git checkout master讓我的分支與主人一樣。

然後我運行git status,看到有數千個新的和修改過的文件可以被推送 - 而不僅僅是我工作的那個文件。

我不想將所有這些文件推送到我的分支。有沒有辦法解決這個問題?

回答

1

您對Git的工作方式以及非快速前向錯誤的實際含義非常困惑。所有錯誤意味着其他開發人員在上次提交之後向遠程分支提交了一個或多個提交。因此,Git拒絕將您的提交盲目應用到自上次提取以來的提交,因爲通常會出現需要手動編輯文件以解決問題的衝突。你所需要做的就是將本地分支拉出來,在發生衝突時解決衝突,然後將分支推出。像這樣的東西應該工作:

git pull origin yourBranch 
# resolve merge conflicts, shouls they occur 
git push origin yourBranch 

關於master分支,你不需要現在就擔心。也許以後,當整個功能準備進入master時,這將成爲一個問題。

我不知道爲什麼切換到master給了你成千上萬的變更文件。但好消息是這不是你的直接問題。

+0

感謝您的回覆!我唯一的問題是,我最初的'git checkout'是否會抓住其他開發人員所做的更改? – MeltingDog

+1

'git checkout'開關分支,它不修改任何分支。您需要合併或重新綁定。 –

+0

啊謝謝!很有幫助 – MeltingDog

相關問題