2009-09-30 23 views
5

自分の作業ディレクトリにあるファイルを削除します。そして、私は 'git pull'をします。 チームの他の人が同じファイルを修正し、HEADに「git push」します。git rebaseの 'merge conflict'中の変更を確認するには

私は「Gitのリベース」を行うときに、私は「(削除)CONFLICTのgitの」マージ矛盾のような何かを得る

私の質問は、私が作ったチームで別の人がやって変化何かを見つけることができる方法であります私は '削除'ファイルに?

ありがとうございます。

答えて

7

が競合がマージ中であるか、または再配置する場合、ファイルの異なるバージョンから入手可能である:

  • 各ブランチ:ステージ1、2として

    $ git show HEAD:path/to/file 
    $ git show branch:path/to/file 
    
  • 、3インデックス:

    $ git ls-files --unmerged 
    # ... 
    $ git show :1:path/to/file 
    $ git show :2:path/to/file 
    

git diff --cc」や「git log --merge」などのツールもあります。

詳細については、ドキュメントを参照してください。

+0

ありがとうございます。 追跡ブランチのHEADでファイル全体を取得できるコミットはありますか?私は 'git show:2:path/to/file> myFile'を実行することを考えていましたが、それは書式設定や改行を変更する可能性があります。より良い方法がありますか? – n179911

+0

低レベルの '' git cat-file -p:2:path/to/file> myFile' "を使うことができます。 –

4

Gitは、 "リモートトラッキング"ブランチとしてリポジトリの上流ブランチの状態のコピーを保持します。 git branch -rを実行すると、すべてのリモートブランチのリストが表示されます。あなたが取り組んでいる枝に対応するものを選択して、のようなものを実行します。

git diff HEAD^..origin/master 

これは、あなたが(最後にコミットされたあなたの削除を想定し、必要に応じて変更)あなたの頭の親の間で変化示さなければならないと上流ブランチの現在の状態。

0

最後の既知の良いプルから別のブランチを作成します。その後、あなたの友人から新しい支店を引っ張ってください。次に、新しいブランチのログを呼び出し、2つのブランチにマージして1つのブランチに統合する方法を知ることができます。

通常の開発設定では、誰もがリベースする1つのGITリポジトリを持つことです。私は中央のリポジトリから引っ張る代わりにリベースをお勧めします。これは、リポジトリから引っ張って同じリポジトリにリベースすると、リポジトリに送信したコミットが現在のブランチと競合するためです。プルまたはプッシュを使用してパッチを使用する必要がある場合は、一般的には簡単です。

例..引っ張ったリポジトリからはリベースしないでください。

関連する問題