2016-10-14 48 views
0

我想強制git覆蓋從主分支中的文件,它不相信會改變。我如何強制git合併更改從分支到主,是「不變」

Master Branch has file configA 
Create branch from Master called BranchA which has file configA 
Create Dev branch from Master called dev. 
Make changes on dev, including changes to file configA 
Merge changes from dev to master 

現在我想覆蓋在主用文件configA上BranchA(原始文件) 它不會合並configA回主的變化configA,因爲它沒有看到configA上BranchA作爲改變文件。

我已經使用rm --cache強制git將readA文件configA提交到branchA上的提交,但它仍然忽略它。

是否有任何命令強制git合併分支中的文件,即使它不相信它們已被更改?

謝謝

+0

合併是自共享基礎以來的變化 - 並且自從提示與主提示共享的基礎以來,BranchA提示上的文件configA不再發生更改。正如吸血鬼指出的,你只是想要那個特定的版本,而你想要的命令是'git checkout'。 – jthill

回答

2

只是得到它的內容並提交它?

git checkout Master 
git checkout BranchA -- configA 
git commit -m "whatever" 
+0

謝謝,但它不止一個文件。我不熟悉git checkout BranchA之後的「 - filename」。它是否將文件複製到主分支? – HamletHub

+1

@HamletHub:*分支*沒有文件那麼多*提交*有文件。什麼'git結帳 - 路徑'確實是提取文件路徑(或多個文件,如果這是一個目錄),到索引/登臺區域和工作樹。這些文件現在都在工作樹和'git中添加到索引/分段區域,它們將在下一次提交中進行。進行提交將移動當前分支名稱以指向您剛創建的新提交,以便它們將在分支上的提示提交中。這是挑剔的/正確的版本,「是的,這使他們在分支」:) – torek

相關問題