2015-04-06 41 views
2

我正在處理當前的主設備,並完成了一些目前尚未本地或遠程提交的更改。但是,我準備好承諾。在此之前,我想將沒有這些未提交更改的當前主人變成新的分支,但我不完全確定這是正確的過程。我的第一個想法是做一個乾淨的克隆在不同的目錄Git:將當前的主設備轉換爲分支並保留未提交的更改

git clone REPO 

,然後從目前掌握

git checkout -b OLD_MASTER 

,然後提交初始化 一個新的分支。然後回到包含未提交更改的其他克隆中並提交它們。但是這對我來說似乎不太清楚。什麼是實現我的目標的正確途徑?

+0

我必須問,你爲什麼需要這個? Git會爲你保留主分支的歷史記錄,如果你需要恢復,你應該恢復到那個提交。您還應該查看[標記](http://git-scm.com/book/en/v2/Git-Basics-Tagging),以便您可以正確地版本化發佈。 – sjagr

+0

我知道,我只是爲了安全冗餘。另外,我可能必須讓當前的主機速度非常快,而不必首先恢復提交。 –

+0

「將當前主人變成分支」實際上沒有意義,因爲'master'已經*是一個分支。另外做'git checkout -b OLD_MASTER'然後提交會使'OLD_MASTER'指向一個新的提交,這與舊的'master'沒有任何關係,所以也沒有任何意義。我不確定你想在這裏實現什麼,請你能澄清用例或最終目標嗎? –

回答

4

您可以創建分支,並返回到主:

git stash 
git checkout -b old_master 
git checkout master 
git stash pop 

但你不想要一個tag呢?

git tag old_master 
+1

藏匿處是多餘的。你只需要'git checkout -b new_branch'。 –

+0

@AdamSpiers「我想將沒有這些未提交更改的當前主變成分支」,這意味着OP不希望更改進入新分支。 – sjagr

+0

我已編輯過,但我仍然不確定是否有問題。這可能是一個標籤更合適。 –

相關問題