2014-02-24 184 views
0

在我正在開發的項目的DEV環境中,我正在Mac上運行虛擬機以模擬應用程序攪動的Visual Studio。虛擬機已安裝到我的Mac上,並且已經創建並配置了Git環境。我想通過將它重命名爲其他名稱來區分我開始工作的分支的版本(當前的本地分支稱爲「主」)。同時,我想確保遠程「主」分支受到保護,因爲這是他人的分支。重命名分支並將「新建」分支推送到遠程

據我瞭解,我應該用

git branch -m my-new-branch-name 

重命名我的本地分支,然後我可以做一個拉 - >推我的新的分支將是方便和我的工作分支機構/遠程它的名字將是'我的新分支名稱'。

這是正確的行爲嗎?

回答

1

如果您從主的當前位置的一個分支,當地的一個將被命名爲my-new-branch-name,並推後,遠程版本將origin/my-new-branch-name,假設你的遙控器被命名爲origin(我相信它,是默認值)。

master應該是主分支。如果您正在與另一個需要在單獨分支上工作的其他人一起工作,那麼他們也應該分支出master。當然,這一切都取決於您的團隊用於版本控制的模式。

Coding Horror有一篇很好的文章解釋瞭如何在版本控制中使用分支的最常用模式。我建議閱讀並確定你的團隊使用哪種模式,或者最適合你的團隊。

例如,在我的工作中,我們在每個任務中使用一個分支,將它們合併到master以便在部署到生產之前進行測試。有時我們會直接對master進行小的(1-2行)或時間要求嚴格的更改,但我們始終要求同事在提交更改前審查更改。

至於git具體去,你的計劃聽起來是正確的,除了你的遠程分支是origin/my-new-branch-name而不是隻是my-new-branch-name

0

是的。你做的是正確的事情。這就是簡短的答案。

但是,如果您是git的新手,可能會被抓住或卡住,所以我會在這裏引導您完成此過程。

如果您還沒有提交改變,你可以做遙控器上的以下內容:

git stash 
git checkout -b my-new-branch-name master 
git stash apply 
git add . 
git commit -m 'committing new changes' 
git push origin my-new-branch-name 

的混帳藏匿命令只存儲變更暫時所以你可以放心地結帳,然後混帳藏匿申請重新應用它們。這僅適用於未提交的更改。

如果您已將您的更改提交給master,您只需要按照原始帖子所述的方式創建分支,但是您可能還想從本地master分支中刪除您的更改。

git branch my-new-branch-name master 
git reset --hard origin/master 

這將創建一個新的分支新的提交,然後你本地的master分支重置無論是在遠程主分支。

現在完成了,你可以去你的本地機器(或任何其他克隆相同的回購),並拉下那個分支。

git fetch 
git checkout my-new-branch-name