2016-02-12 91 views
0

Git是我一直有困難理解的東西。我在做個人項目時經常犯的一個常見錯誤是爲了'掌握'而不是'dev'。如何使用GIT將'master'分支完全重置爲'dev'的內容?

我想知道如何使用Git'重置'主分支。具體來說,如果'master'通過一些提交次數超過'dev'分支,我該如何重置'master'到'dev'的內容。這假設不需要提交主文件。

謝謝。

回答

2

你在問如何「重置」主分支。好消息給你,

git checkout master 
git reset --hard dev # loses commits on master 
0

假設你在master分支上,這個命令將設置master分支來匹配dev分支。

git reset --hard dev 

請注意,這將刪除任何您在不包含在Dev分支的主分支已經承諾的工作。如果要保存在主分支中已更改的文件的狀態,但要刪除主服務器中的那些提交,可以運行此命令,該命令將重置提交到當前dev的狀態,但不會刪除您擁有的更改在本地製作文件。然後這些更改可以被提交。

git reset --soft dev 
3

所以,如果真的沒有需要掌握的提交,該git reset答案是正確的(當然,假設你沒有主推還)。

但是,你說:

一個常見的錯誤在個人項目上工作的時候,我經常做 被提交工作以「主人」,而不是「開發」。

如果是這樣的話,爲什麼要丟掉您在master上所做的承諾?我只想交換分支(如果master嚴格提前dev):

git checkout master 
git branch temp 
git reset --hard dev 
git checkout dev 
git reset --hard temp 
git branch -d temp 
0

僅在GIT中的默認分支名(其實只是一個參考),爲什麼要提交給它打擾。您可以將其重命名爲任何其他名稱,並按照您的要求從任何開始指針創建一個名爲的新分支。

相關問題