Git是我一直有困難理解的東西。我在做個人項目時經常犯的一個常見錯誤是爲了'掌握'而不是'dev'。如何使用GIT將'master'分支完全重置爲'dev'的內容?
我想知道如何使用Git'重置'主分支。具體來說,如果'master'通過一些提交次數超過'dev'分支,我該如何重置'master'到'dev'的內容。這假設不需要提交主文件。
謝謝。
Git是我一直有困難理解的東西。我在做個人項目時經常犯的一個常見錯誤是爲了'掌握'而不是'dev'。如何使用GIT將'master'分支完全重置爲'dev'的內容?
我想知道如何使用Git'重置'主分支。具體來說,如果'master'通過一些提交次數超過'dev'分支,我該如何重置'master'到'dev'的內容。這假設不需要提交主文件。
謝謝。
你在問如何「重置」主分支。好消息給你,
git checkout master
git reset --hard dev # loses commits on master
假設你在master分支上,這個命令將設置master分支來匹配dev分支。
git reset --hard dev
請注意,這將刪除任何您在不包含在Dev分支的主分支已經承諾的工作。如果要保存在主分支中已更改的文件的狀態,但要刪除主服務器中的那些提交,可以運行此命令,該命令將重置提交到當前dev的狀態,但不會刪除您擁有的更改在本地製作文件。然後這些更改可以被提交。
git reset --soft dev
所以,如果真的沒有需要掌握的提交,該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
主僅在GIT中的默認分支名(其實只是一個參考),爲什麼要提交給它打擾。您可以將其重命名爲任何其他名稱,並按照您的要求從任何開始指針創建一個名爲主的新分支。