2016-06-29 11 views
2

ブランチfooBarにあると思ってコードを変更しました。私はマスターで働いていたことが判明しました。コードをマスターすることはできません。コードをfooBarブランチにプッシュし、上位のプルリクエストにプルリクエストを入れてから、ブランチをマスターにマージする必要があります。間違ったブランチの変更 - コミットのために別のブランチに変更を加える方法

私のジレンマは、私がローカルでマスターにこれらの変更を加えたことです。私がするときgit checkout fooBar私のコードの変更は、私の枝に来ることはありません。私はgit push origin fooBarを実行してブランチにこれらの変更をプッシュしようとしましたが、変更がブランチに到達しなかったにもかかわらず "すべて最新"と表示されます。

変更をfooBarブランチにプッシュするにはどうすればよいですか?

$ git status 
On branch master 

答えて

3

マスターの変更が先にリモートfooBarに支店のある、あなただけのリモートfooBarにブランチにプッシュしたい場合は、あなたが行うことができます:

git push origin master:fooBar 

はまた、あなたの地元への変更を引き出すことができますfooBarに支店たとえば...

をマージ/チェリーピックの/ etcを使用して:

git checkout fooBar 
# To pull in the last commit from master into fooBar: 
git cherry-pick master 
# Or to pull in all commits on master into fooBar: 
git merge master 

それからちょうど通常のようなあなたの地元のfooBarにブランチをプッシュします。

+0

私はチェリーピックをして、それは魅力のように働いた:)ありがとう! –

0

私はコミット以前にマスターをロールバック次に、あなたが最初に習得することを約束したコード(すべてのファイル) をコピーします。 次にfooBarブランチに行き、そこでコミットされるはずのすべてのファイルをチェックアウトします。 これらのファイルを変更します。 これらの変更をfooBarブランチにコミットします。

私はそれが理にかなっていると思います。

+0

1)マスターにコミットする2)fooBarをチェックする3)マスターをマージする4)マスターを前回のコミットにロールバックする...それはうんざりですが、技術的にはうまくいくでしょう:/ –

+0

それはすべきです。間違いなくウッキー。 – dkolln

関連する問題