首頁  >  問答  >  主體

git merge後不合併與產生衝突,而是直接替換掉。

1.正式環境有倉庫,但是當時同事為了方便,直接打了個包再測試環境進行開發了,現在開發完,新開發的這個部分沒有納入版本庫。不知道如何合併。

2.我現在基於dev分支,創建了一個new的分支,並將之前沒有納入版本庫的文件,直接替換掉new分支下的文件,並add commit。

3.我現在又基於dev分支,又創建了一個dev2的分支,切換到dev2下,merge new分支,發現merge過程中文件並沒有合併與產生衝突,而是刪除了dev2下的文件,新建了new分支下的那些檔案。

勞煩大家如果遇到類似的問題,請指點下。謝謝!

伊谢尔伦伊谢尔伦2700 天前1055

全部回覆(3)我來回復

  • 过去多啦不再A梦

    过去多啦不再A梦2017-06-22 11:54:46

    兩個問題。

    1. 你說的 “新開發的部分” 指的是哪個部分?

    2. 你現在需要把 dev2 變成什麼樣子?

    回覆
    0
  • 曾经蜡笔没有小新

    曾经蜡笔没有小新2017-06-22 11:54:46

    可以試試git cherry-pick指令,可以把某個commit合入到某個分支。

    回覆
    0
  • 过去多啦不再A梦

    过去多啦不再A梦2017-06-22 11:54:46

    git merge 實際上會把你目前dev2分支最後的工作節點,new分支最後的節點和他們共同的父節點做一次三方合併,new分支相較於他們的共同節點相當於變更了全部文件,而dev2分支並沒有變化,所以git 會選擇自動
    merge 替換掉dev2 上的檔案

    按照你的說法,你的同事應該是只調整了部分功能,可以考慮是用 git difftool 來手動合併兩個分支

    回覆
    0
  • 取消回覆