私はgit diff
コマンドを使って変更をチェックできることを知っていますが、私の知る限りではディレクトリベースです。これは、現在のディレクトリにあるすべてのファイルのすべての変更を反映することを意味します。
ある特定のファイルの変更点だけを確認するにはどうすればよいですか。 たとえば、ファイルfile_1.rb
、file_2.rb
、...、file_N.rb
を変更しましたが、ファイルfile_2.rb
の変更にのみ関心があります。それなら(コミットする前に)どうやってこれらの変更をチェックするのですか?
次のようなコマンドを使用してください。
git diff file_2.rb
あなたが違いを得ることができるものの種類に関する完全な情報については git diff
ドキュメント を参照してください。
通常、git diff
は単独で repository 全体のすべての変更を表示します(現在のディレクトリだけではありません)。
gitk [filename]
を使って変更履歴を見ることができます
別の方法( this SO answer で説明されています)は履歴を端末に保存し、ファイル自体の非常に深い記録をあなたに与えるでしょう:
git log --follow -p -- file
これはファイルの全履歴(名前の変更を超えた履歴や各変更の差分を含む)を表示します。
言い換えれば、barという名前のファイルがかつてfooという名前だった場合、git log -p bar(--followオプションなし)はファイルの名前が変更された時点までの履歴のみを表示します。ファイルの歴史はfooとして知られていました。 git log --follow -p barを使用すると、ファイルがfooとして知られていたときのファイルへの変更を含め、ファイルの全履歴が表示されます。
下記のコマンドを使用して、誰がファイルの内容を変更したかを確認できます。
git blame <filename>
実行できます
git status -s
これは変更されたファイル名を表示し、それから興味のあるファイルパスをコピーすることであなたはgit diff
を使って変更を見ることができます
git diff <filepath + filename>
あなたも試すことができます
git show <filename>
コミットの場合、 git show はログメッセージとテキスト形式の差分(あなたのファイルとコミットされたバージョンのファイルの間)を表示します。
詳細については git show Documentation を確認してください。
特定のファイルの変更に関する詳細のみを一覧表示する
git log --follow file_1.rb
同じファイルに対するさまざまなコミットの違いを列挙する。
git log -p file_1.rb
コミットとそのメッセージのみを一覧表示する
git log --follow --oneline file_1.rb
あるいはあなたがあなた自身のguiツールを使いたければ:
git difftool ./filepath
あなたはこの記事に沿ってあなたのguiツールを設定することができます: どのように私は視覚的なdiffプログラムで 'git diff'出力を見ますか?
@Greg Hewgillに完全に同意する
また、パスにスペースが含まれている場合は、アポストロフィ'
または `を付けて追加してみてください。
git diff 'MyProject /マイフォルダ/マイサブフォルダ/ file_2.rb'