2016-10-19 2 views
0

私はリモートリポジトリのブランチであるプロジェクトで作業しています。時々、私はgit pull upstream masterを実行することで、自分のプロジェクトをリモートの変更と同期させます。ここで失敗したプル後のリモートレポとの同期方法

は何が起こったかである:

  • 昨日、私の最後のローカルな変更をコミットした後、私は1 git pull upstream master位でした。
  • が新しいファイルを取得し、それらのいくつかをマージしてから、プロジェクトをビルドしようとしました。ビルドに失敗しました。
  • その後、すべての変更されたファイルをunstagedして、をundidしたと誤って認識したclean allを実行しました。
  • 私はいくつかのローカル変更を行い、それらをコミットしました。その間に
  • のリモコンが修正されました。同期を取りたいと思います。
  • しかし、私がgit pull upstream master#2を行ったとき、私はプル#1からリモートに変更が加えられました。

私は最初にプル#1で取得したものを含め、リモートからすべての変更を取得するには、プル#1以降に行ったローカル変更を失うことはありませんか?

更新1: 私はちょうどgit merge --abortでした。それは最後のpull(#2)を元に戻したようです。 次に、新しいブランチsave-local-changesを作成しました。必要に応じて、ローカルの変更をリモートにマージしてから、リモートに同期させてからmasterに戻したいと考えています。 #1を引っ張って再実行(強制)するにはどうすればよいですか?

+0

から、ローカルの変更をマージし、unstagedファイルがまだ残っていた可能性が?あなたはあなたの元のローカル、バージョンへの変更をリセットしたとは言いません... – j6t

+0

@ j6t - 私の質問の更新も見てください。私はまだローカル(マスター)支店のリセットをしていない。しかし私は、プル#1をやり直すことができるようにするために、私の 'save-local-changes'ブランチからのローカル変更のマージ(チェリーピッキング?)が必要であると思っています。それは正しいと思いますか? – ebhh2001

答えて

0

あなただけのリモート・マスター

git checkout master 
git reset --hard upstream/master 

の現在の状態をチェックアウトして、あなたのローカルな変更をコミットすると、あなたのsave-local-changesブランチ

関連する問題