我有一個遠程主分支和一個本地調用「功能」。我之前已經和主人合併過,並且在本地分店做過多次更改。儘管如此,我還沒有把它推回到掌握之中。所以當我試圖「拉動」時,它只會說「一切都是最新的」。 另一方面,「主」中的文件和「功能」中的文件是不同的,我想擺脫我們有的幾個本地文件,但是主人不會。 我需要的是一種再拉主令並將每個文件標記爲衝突的方式,以便我可以選擇我需要的和我不需要的。 重新調整本地更改不是一種選擇,因爲我會丟失所有我實現的代碼。 感謝您的幫助!重做git合併
重做git合併
回答
嘗試一個git reset HEAD~1
讓git認爲它是歷史提交(或者如果主更改跨越多個重疊提交,則更改1),然後是git pull …
。
你需要作出的區別分支之間(master
,feature
,你merge
和pull
),和remotes
(需pull
,以及相關的消息Everything is up-to-date
)。目前還不清楚你的情況是什麼,你想從哪裏嘗試pull
?什麼分支?
據我瞭解,您擁有的一切都在分支master
已經合併分支feature
歷史如果您正在運行git pull
當你有分支feature
簽出,git
嘗試fetch
新承諾從remote
回購,然後合併它們(如果有)到feature
。這假定feature
有一個遠程跟蹤分支,但如果該命令完全可以工作(沒有參數),它可能有一個。
由於git pull
表示feature
是最新的,因此您似乎已將分支feature
推送到其遠程跟蹤分支(遠程回購)。你拉,它告訴你沒有更多的事情發生。
另一方面,您可能會認爲master
是最新的。
如果你想「擺脫我們有的幾個本地文件」(在feature
,我想),那麼什麼阻止你刪除它們? git rm <file to get ridden of>
。在feature
上這樣做,你不會影響master
。像往常一樣承諾。
如果您想要放棄的feature
中有更改,並獲取它們在主文件中的文件,您可以git checkout master -- <file to get>
。這將您的本地文件更新爲master
狀態,但不更改分支,您仍然在feature
。使用這些更新的文件在feature
上創建新的提交。
你還可以做的是一個交互式底座。 git rebase
記錄feature
中的更改,並讓您可以在其他(或相同)提交之上「重放」它們。除此之外,git rebase --interactive
可以讓您在重放階段跳過提交,甚至可以編輯在重播之前提交的內容。例如,您可以在重播階段修改提交,而不是添加不必要的文件。
最簡單的將是git checkout master -- <file>
,如果只是刪除不必要的文件不起作用。
謝謝大家的回答! 我最終做的是: 1.檢出主 2.物理複製每個文件夾主已經到不同的位置 3.簽出功能 4.開始一個文件夾比較「超越比較」,並逐一編輯每個文件有時候會考慮功能的變化,有時候是主人的。
這是不是一個真正的git的解決方案,並採取了一段時間,但它的工作:)
- 1. 重做GIT中的錯誤合併
- 2. 撤銷已經推送並重做合併的git合併
- 3. Git並不做衍合
- 4. 重做與SVN手動合併合併
- 5. Git重定位或合併
- 6. 爲什麼git合併,當我做拉?
- 7. Git做一個奇怪的合併
- 8. git合併不合並
- 9. Objective-Git合併
- 10. 合併Git中
- 11. Git,XIBs,合併
- 12. 合併Git中
- 13. 的git:合併已重新排序
- 14. git合併文件後重命名
- 15. Git合併重新申請祖先?
- 16. Git重定位/合併公開發布
- 17. Git合併「重播」更改,但是呢?
- 18. Git恢復合併,再加上一個提交重新合併
- 19. Git,合併分支git
- 20. Git合併後git rebase?
- 21. Git的合併合併後,並恢復
- 22. 爲什麼重新合併會導致git中的重複合併衝突?
- 23. 衍合合並樹的Git
- 24. 重做舊的git設置
- 25. Git和合並時
- 26. Git合併問題
- 27. 自動git合併
- 28. Git合併不便
- 29. Git無法合併
- 30. git分支合併
「我希望得到本地擺脫幾個文件,我們有,但主人沒有。」 =>你在'feature'中添加了這些文件嗎? '主人'把他們刪除了嗎?從'master'合併之前或之後? –