在開始噴射git命令之前,我使用Windows 7-64bit與TortoiseGit(當前爲v1.7.11.3),因爲我是Git的新手。合併刪除並添加錯誤的文件
我的DEV分支比當前的遠程主控舊,我更新DEV並解決衝突。
DEV分支已將提交提交到遠程DEV分支,因此rebase
是不可能的 - 據我所知。
爲什麼會發生這種行爲,我該如何避免它?
Checkout master
(切換到本地主)Pull origin master
(無衝突)Checkout DEV
(切換到Dev分支)Merge master
(適用於本地主變爲本地Dev分支)- 修復衝突和
commit
修改後的文件(自動合併和固定衝突文件)
當我打開log
時,我會看到「父1」文件在提交窗口和「父2」文件中,這些文件如圖所示。這裏是奇怪的部分,文件(本地/遠程是相同的)主已刪除現在是添加和新文件是刪除。
此外,儘管有一些應該!「父2」文件沒有產生任何衝突!
新的/刪除的文件的工作與我的預期相反。這是爲什麼 ?
如果一個文件在master中是新的,並且我合併到DEV分支中,那麼我希望它在合併之後存在。
我的猜測是DEV分支被認爲是主分支,而不是我合併到DEV中的分支(主分支)。
我沒有選擇使用Revert
來重新創建已刪除的文件(那些在主文件中實際上是新的文件)。
是否有可能在某個階段恢復了合併?如果是這樣,那麼你會發現重新合併會導致你這種問題,你將需要恢復回覆。 (沒有作出這個答案,因爲我正在做出你可能已經完成的可能假設) – 2012-07-17 12:26:48
DEV分支先前沒有與主合併過,所以沒有還原合併。 – Kim 2012-07-17 12:31:02
有一個原因可能會導致您要發出控制檯命令:它不像用散文描述UI操作那樣含糊不清,並且會讓您創建一個[SSCCE](http://sscce.org/)讓我們重現您的問題。我全部用於IDE和GUI工具,但限制自己對它們的描述很難描述你的問題*。 – millimoose 2012-07-17 13:59:03