2016-07-05 1 views
1

私はリポジトリにいくつかの(未知の)タグをチェックアウトしました(現在はどのブランチにもありません)。ファイルに対してgit diffを実行すると、いくつかの変更が加えられますが、どちらがコミットされるかはわかりません。私はdiffを特定のブランチの先頭に持っていきたい。そこにgitのdiffコマンドはありますか?何かのように:別のブランチにローカル変更をdiffする方法はありますか?

git diff myLocalFile myRemoteBranch 

答えて

1

あなたはコマンドの最後に--を使用してdiffで特定のファイルを指定することができます。

また、あなたがいるタグを指定する代わりに、HEADポインタを使用して現在の位置を指定することができます。

例:

git diff HEAD..myRemoteBranch -- relative/path/to/myLocalFile 

あるいは、もっと単純に:

git diff myRemoteBranch -- relative/path/to/myLocalFile 

あなたが実際には「リモート」ブランチと比較したい場合にも、あなたはおそらくのようなremoteを使用して、その枝を参照する必要があります:

git fetch # retrieve latest from server 
git diff origin/myRemoteBranch -- relative/path/to/myLocalFile 
+0

これはいくつかの変更があっても検出されないように思われるので、私は困惑しています... T – a1an

+0

ああ...あなたの変更を他のブランチと比較するためには、最初にコミットする必要があるかもしれません。 現在のポイント( 'get checkout -b myBranch')、ステージング(' add')、コミット( 'commit')から新しいブランチを作成し、' diff'コマンドを使って変更を確認することをお勧めします。 –

+0

ビンゴ! HEADがなければ、指定されたブランチに対する変更を検出します。 – a1an

関連する問題