Subversionでは、TortoiseSVNを使用してファイルの履歴/ログを表示できました。
Gitでこれを行うにはどうすればよいですか?
特定のファイルの履歴レコードを探してから、異なるバージョンを比較するだけです。
git log
を使用して、コミット履歴を表示します。各コミットには、ハッシュキーであるリビジョン指定子が関連付けられています(例:14b8d0982044b0c49f7a855e396206ee65c0e787
およびb410ad4619d296f9d37f0db3d0ff5b9066838b39
)。 2つの異なるコミットの違いを表示するには、両方のコミットのリビジョン指定子の最初の数文字で git diff
を次のように使用します。
# diff between commits 14b8... and b410...
git diff 14b8..b410
# only include diff of specified files
git diff 14b8..b410 path/to/file/a path/to/file/b
コミットからコミットまでに発生したすべての違いの概要を知りたい場合は、git log
または git whatchanged
をpatchオプションとともに使用します。
# include patch displays in the commit history
git log -p
git whatchanged -p
# only get history of those commits that touch specified paths
git log path/a path/b
git whatchanged path/c path/d
gitk name_of_fileを使用したい
これは、すべてのファイルへの変更を表示する代わりに、コミットごとにファイルに発生した変更の素敵なリストを表示します。起こったことを簡単に追跡できます。
また、ncursesベースのすてきなgitリポジトリブラウザに対して tig を使用することもできます。ファイルの履歴を表示するには:
tig path/to/file
私のお気に入りはgit log -p <filename>
です。これは、指定されたファイルのすべてのコミットの履歴と、各コミットの差分を提供します。
git log
(および 'git log --graph')、gitk(Tcl/Tk、Gitの一部)、QGit(Qt)、tig(ncursesを使用したgitのテキストモードインターフェイスなど)を含む多くのGit履歴ブラウザー)、Giggle(GTK +)、TortoiseGitおよびgit-cheetahはパス制限をサポートします(例:gitk path/to/file
)。
もちろん、可能な限りTortoiseSVNに近いものが必要な場合は、単に TortoiseGit を使用できます。
git log --all -- path/to/file
は動作するはずです
TortoiseGitは、ファイルの履歴を表示する コマンドラインツール も提供します。 PowerShellを使用する:
C:\Program` Files\TortoiseGit\bin\TortoiseGitProc.exe /command:log /path:"c:\path\to\your\file.txt"