2017-08-02 84 views
1

可以說我一直在一個分支,做了一些變化,其中一些我承諾其中一些仍然unstaged。然後有人推動一些東西去掌握。然後,我完成了,並試圖推動我的工作掌握。但是有一個合併衝突,因爲在推動自己之前,其他人改變了我目前正在處理的一個文件中的某些內容。我輸入了什麼Git命令,以便我的分支更新了他的更改,以及我目前的工作。所以我可以合併。我如何做到這一點,既沒有讓我的提交丟失,也沒有刪除我未分離的更改?由於這個原因我每次都摧毀我的項目。我只需輸入哪些命令即可實現此目的?我查看了Git教程,它說git checkout分支,git rebase master。這再次毀了我的項目。幫幫我?Git rebasing分支如此提交和unsaged更改不會被刪除或丟失

回答

2

您可以嘗試在當前分支上執行git stash。這實質上是拍攝當前階段的快照並將其提交到安全的地方(並且它也會爲您的工作目錄單獨提交)。

然後,拉的最新變化:

git pull origin master 

則可能會在你這樣做,如果你有新的提交自上次與遠程master分支同步的得到合併衝突。

最後,通過應用藏匿:

git stash apply 

您也可能會合並從這個衝突。現在你應該從你的合作者那裏得到最新的變化,而舞臺應該是你離開它的時候。

+0

好的,所以我把我的工作藏起來,直到我拉下來才做出承諾。我拉我後,申請隱藏和提交。如果我在存儲之前做了一次提交併發生衝突,我該怎麼辦?在提交中隱藏工作並取消提交? – user6358536

+0

我不確定這個後續問題是在做什麼,但是如果你提交了,你應該解決衝突。未完成的提交應該被看作是一種暫時的狀態;要麼不做提交,要麼完成並解決衝突。 –

+0

好吧,看起來我有一個合併衝突,沒有任何金額或rebind或存儲可以解決。我只是複製粘貼其他人的變化到我的代碼...雖然它不覺得正確的做事方式 – user6358536