2016-03-23 13 views
0

私は2つのブランチ、bbmasterを持っています。私はbbに取り組み、いくつかの変更を加え、Githubにプッシュして、私がmasterにマージしたプルリクエストを出しました。プロダクションアプリの問題を見て、bbの変更に問題があると思ったので、Githubのrevertボタンをクリックしました。ブランチからの変更をGithubのマスターに再度マージしますか?

問題はコードではなく、サーバーにアップロードしていなかったbbの変更によって必要とされたデータファイルがあることが判明したので、変更点はbbからマスター...だから、私はbb(いくつかの空白を追加)で無意味な変更をして、新しいPRを取得しました。しかし、PRは空白のためのものであり、の他のすべての変更ではなく、masterの相対的な変更であった。私はPRをマージしましたが、確かに空白の変更だけが適用されました。

だから今Githubのは、ファイルfoo.pyの2つのバージョン、bbに1つ、masterに1を持っている、と私はプルリクエストを作成しようとすると、それは比較するものがありません」と言われます。masterは次第ですすべてのコミットの日付はです。ハァッ?

foo.pyの変更をbbに実際にマージするにはどうすればmasterになるのですか? (私はそれが以前に正確にこれらの変更をマージしました...しかしmasterfoo.pyの現在の状態がbbで異なっているので、それはオフにスローさだと思う。)

答えて

2

あなたの最も簡単な修正プログラムは、端末に向かうことです。まだプロジェクトをチェックアウトしていない場合はチェックアウトします。

git clone <url> my_project 
cd my_project 
git log (Find the id of the revert-- which is just a commit) 
git revert (commit_id) 

そして、他の枝に取り組んで、他の人は私が壊しだろうとマスターするために変更をプッシュしているので、私はこの時点で復帰を元に戻すことはできませんBBとマスター

+0

ためのプルリクエストを作成するには、あなたの変更をプッシュ。 クラップ、私はちょうど問題を認識したと思う。問題は、 'bb 'の変更が' master'の変更よりも古いことです。私が考えることができるのは、空ファイルへの 'foo.py'の変更やコミットとプッシュのような本当にハッキリなことをしてから、' foo.py'に変更を入れてPR I欲しいです。 良い方法がありますか? – dslack

+0

技術的には、コミットはすでにマスターになっています。あなたはマスターをブランチにマージしてから変更することができます。しかし、新しいブランチを作成してから変更をやり直す方が良いかもしれないと思います。あなたはコミットをしていたかもしれませんが、同じ場所に戻ってしまうでしょう。コミットはマスターのためです。したがって、マスターをマージして変更するか、マスターの新しいブランチを作成して変更を加えます。 –

+0

変更内容はファイルの履歴に反映されます。だから私はちょうど新しい枝を作成し、私の古いコミットと比較して、変更をつかみます。次にコミットして押します。プルリクエストを作成すると完了です。 –

関連する問題