2016-04-12 4 views
0

私のgit repoは、ウェブサイトへのFacebookログインを追加する目的で、マスターで開始されました。実験として、GOOGLE_AUTHというブランチにGoogleログインを追加しました。その後、私はFacebookのログインでマスターを続けましたが、私はFacebookをオンにして、GOOGLE_AUTHをブランチする直前にmasterを戻したいと思っていますが、GOOGLE_AUTHを保存しています。 Goolge Auth、ID、secretを有効にしていたので、あまり重要ではありませんが、間違いを意図してFacebookの認証をマスターに追加してからいくつかのクラスを変更しました。私はmasterになりたいと思っています。GOOGLE_AUTHのブランチが入っていますが、Facebookの変更はありません。前のマスターへのロールバック

GOOGLE_AUTH以降、すべての変更されたファイルを手動でロールバックする必要はありませんか?

+0

はリモートレポにこれらのブランチをプッシュするか、単にローカルで動作していましたか? – ItayB

答えて

2
# find the split commit (junction) when you first go out with the GOOGLE_AUTH branch 
git log --graph --decorate 

# change your filesystem state to the prev state (what you find above) 
git checkout <COMMIT_SHA> # of the upper commit 

# remove the master branch 'pointer' 
git branch -d master # delete master 

# create new branch master 'pointer' in the same commit you found earlier 
git checkout -b master 
+0

ありがとう、最も教育的な答え。リモートに非常に頻繁に、2つまたは3つのコミットごとに、そして確かに私が新しいブランチを作成したときに、何か意味がありますか? – ProfK

+0

それがあなたを助けたなら、あなたが私の評判のための答え&アップヴォートとして受け入れることができれば感謝します。あなたの2番目の質問について:私はバックアップ目的のために各2-3コミットをプッシュしている(私のコンピュータが燃える場合;-)))。コミットは、バックアップしたい最も重要なものです。 Brancheはコミットのポインタです。このポインタを削除して、コミットするたびに新しいポインタを作成することができます。 – ItayB

0

git checkout [commit]特定の時点でマスターブランチの状態を取得してからコミットすることができます。 GOOGLE_AUTHは別の支店にあるため、影響を受けません。 google auth機能を終了した後、masterブランチにマージします。

また、あなたはgitのフロー技術を見てみる必要があります:http://nvie.com/posts/a-successful-git-branching-model/

関連する問題