2013-07-02 15 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

それは間違いなくあなたが述べた1のためであるとして、最後のリンクは、あなたの問題の解決策ではない理由を説明するために質問を言い換えてください。 –

+0

@BalogPalそれは13回の変更ではなく1回の変更としか関係ないため、私はそれが異なると想定しました。そうでない場合は、私は喜んでそれを行い、この質問を謝罪し、閉じる/削除します。私はそれを試すべきですか?変更は2ヶ月分の作業であり、私はそれを失う余裕がありません。 – Quillion

+0

質問では、「これらの13のコミットは現在行われています」と言います。あなたは実際に1つだけまたは夫婦がほしいと思うなら、それを求めてください。あなたのコミットがあれば、gitで何かを失うことは本当に難しいです。それは多くの方法と多くのアプローチを可能にするので、あなたは尋ねる際に正確でなければなりません。おそらくあなたが結果の状態を記述した場合、私たちは先に進むでしょう –

答えて

31

git checkout -b yourbranchと押してください。

次に、マスタをorigin/masterにリセットします。

注文:

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

それでは: 1) 'gitのチェックアウト-b mybranch' 2)' Gitのpush' 3) 'gitが --hard起源/ master'をリセットし、それはそれで? – Quillion

+2

before 3)git checkout master –

+0

警告:このシーケンスは私にとってはうまくいかなかった。 "13"の新しいローカルコミットをリモートをそのまま維持する新しいブランチに移動するのではなく、私が新しいブランチでしか望んでいない最近の変更の少なくとも一部がマスターに表示されます。私はこれがOPの意図だったとは思わない。 –

関連する問題