2016-06-20 6 views

答えて

0

最後に編集したファイルを見つける方法はわかりませんが、ファイルを変更して保存した場合は、中止した場所の現在の状態をgit statusで確認できます。

デフォルトでは、変更されたものの、追加されなかったもの(作業ディレクトリ)と、追加されたもののコミットされていないもの(ステージングエリア)が表示されます。

1

Gitが直接追跡するものではない、プロジェクト内の最新のファイルを簡単に探しているように思えます。 Gitに関する限り、あなたはいくつかの段階的な変更といくつかの段階的な変更を行っていますが、最新のことは考えていません。

ありがたいことに、ファイルシステムはそうです。実際にはこれは単にwhich file is the newestですが、の質問になっています.Gitの知識を使ってその回答を改善することができます(Mac OS Xバージョンfindには-printfオプションがありません) 。

あなたはまだあなたの変更を上演していない場合は、その後、彼らは(段階的なファイル情報を格納する)Gitのインデックスよりも新しいなければなりませんので、我々は持つ新しいすべてのファイルを見つけることができます。

find . -type f -newer .git/index 

をそして、我々はできます

find . -type f -newer .git/index -exec stat -f '%c %N' {} \; 

そして最後に、我々は(最新の最初を取得するために)出力をソートし、単一のファイルにそれを制限したい:

コマンドを使用してファイルの時間を問い合わせますここ

私は私のリポジトリ内のいくつかのファイルを変更しました:

% find . -type f -newer .git/index -exec stat -f '%c %N' {} \; | sort -r | head -1 
1466437626 ./staged_edit 

% git status 
On branch master 
Changes not staged for commit: 
    (use "git add <file>..." to update what will be committed) 
    (use "git checkout -- <file>..." to discard changes in working directory) 

    modified: unstaged_edit 

Untracked files: 
    (use "git add <file>..." to include in what will be committed) 

    unstaged_add 

no changes added to commit (use "git add" and/or "git commit -a") 

をそして私は、最新の検索したい場合は

関連する問題