我工作在GitHub上的項目。在我的電腦上,我做了六次提交,但還沒有推送到GitHub服務器。現在我認識到,我想保持目前的master
分支,是在雲中,並把提交的名爲development
一個單獨的分支。我怎樣才能做到這一點?我是Git和GitHub的新手。如何使用git創建分支並重置另一個分支?
編輯:我也有一些提交,有已被推入GitHub之前unpushed提交。我想保持這些在兩個分支,WHIE只保留unpushed提交的development
。
我工作在GitHub上的項目。在我的電腦上,我做了六次提交,但還沒有推送到GitHub服務器。現在我認識到,我想保持目前的master
分支,是在雲中,並把提交的名爲development
一個單獨的分支。我怎樣才能做到這一點?我是Git和GitHub的新手。如何使用git創建分支並重置另一個分支?
編輯:我也有一些提交,有已被推入GitHub之前unpushed提交。我想保持這些在兩個分支,WHIE只保留unpushed提交的development
。
創建一個新的分支,你叫development
:
git branch development
然後移動主到它是在遙控器上:
git checkout master
git reset --hard origin/master
現在development
指向上次提交而master
是哪裏它在提交之前。
您可以推動新的分支,成立了遠程跟蹤與
git push -u origin development
我也曾多次提到我被推送到GitHub。 'git reset --hard origin/master'不會重置我所有的提交?我只希望在'master'分支中重置六次unpushed提交,但保存並推入'development'分支。 –
號該重置將使主點指向您最後推送到遠程調用起始位置的任何位置 –
重置通常只會移動當前分支的頂端。它並沒有真正消除變化或類似的東西。 –
假設你已經取得了提交您local
主分支(所以推,沒有額外的參數拉的工作);建立在當地一個新的分支和調用,發展
git branch development
git checkout development
你的提交會在那裏在這個新的分支,你可以推到git的世界又名遠程雲
git push origin development
請確保您有不做
git push origin master
如果是遠程/雲大師會對您的提交;我相信你不需要
OP如何將主設備重置爲它在服務器上的內容? –
你想要做的第一件事是在你在哪裏,並在其上「是」點創建一個分支。 git checkout
是唯一可以更改當前分支的命令。而其-b
選項創建在頂部的分支(在你此刻的點,如果你不告訴它,否則):
git checkout -b development
然後,你要設置的本地分支master
回哪裏的遙控器是。這個你將其設置爲所謂的「本地遠程跟蹤分支」,這是遠程分支的快照(從最後的時間內獲取/推):
git branch --force master origin/master
你必須使用--force
在這裏,否則git branch
不會改變現有分支。
爲什麼你需要檢查新的分支,特別是如果你的下一步是與另一個分支一起工作? –
@MadPhysicist是否有意不繼續在'development'分支?您的評論可能暗示'git branch'命令不會改變當前的結賬。 –
適合你的優點+1先生 –
最後,你要繼續在「發展」或「主人」。 - 這個問題的答案略微改變了「最佳命令行戰略」。 –