2013-07-02 148 views
9

我在master。當我做git身份時,我被告知git將本地提交的更改移至新分支並按

$ git status 
# On branch master 
# Your branch is ahead of 'origin/master' by 13 commits. 
# (use "git push" to publish your local commits) 
# 
nothing to commit, working directory clean 

所以所有13只存在於我的本地機器上。問題是這13個提交現在應該在我應該創建並推送到服務器的新分支上。我試圖尋找在底墊中,但我告訴

$ git rebase origina/master 
fatal: Needed a single revision 
invalid upstream origina/master 

我將如何去推動這些變化到一個新的分支不會弄亂主人?

只是爲了澄清。這不是
moving committed (but not pushed) changes to a new branch這個不管我做什麼都不適合我。

Git: Howto move changes since last commit to a new branch再次沒有幫助。

+0

請重新改寫問題解釋爲什麼最後一個環節是不是你的問題的解決方案,因爲它絕對是你規定的一個。 –

+0

@BalogPal因爲它只與一個變化而不是13個變化有關,所以我認爲它會有所不同。如果不是,那麼我會很樂意這樣做,道歉並關閉/刪除這個問題。我應該嘗試嗎?這些變化是2個月的工作價值,我不能失去它。 – Quillion

+0

在這個問題中,你說「這13個提交現在應該去」。如果你真的只想要一個或一對夫婦,你應該問這個;如果你有提交,在git中很難失去任何東西。但是因爲它允許許多方法和許多方法,所以你應該精確地詢問。可能如果你描述了結果狀態,我們會提前 –

回答

31

只要做git checkout -b yourbranch並推動。

然後將主機重置爲原點/主機。

訂單:

git checkout -b mybranch 
git push 
git checkout master 
git reset --hard origin/master 
+0

所以則: 1)'GIT中結帳-b mybranch' 2)'GIT中push' 3)'GIT中的復位 - 硬起源/ master'的 並且是什麼? – Quillion

+2

之前3)git checkout master –

+0

警告:這個順序對我不起作用。除了將「13」新的本地提交移動到一個新的分支以保持遙控器完好無損之外,至少有一些我只希望在新分支上進行的最近更改出現在主控中(或者在我的情況下發展起來)。我不認爲這是OP的意圖。 –

相關問題