2016-08-05 3 views
0

前回のコミット時に特定のファイルに対して "git show"を実行する必要があります。私は次のコマンドを使用しましたが、動作しません。特定のファイルの前のSHAの "Git show"

GitのショーSHA〜1:FILE_PATH

何の可能な作業命令をだろうか?

+1

'git show 'はその特定のパスの内容を表示します。代わりに何をしたいですか? – torek

+0

@torek私はOPが特定のファイルのパッチを見たいと思う。しかし、それは 'git diff'のためのものです。 –

+0

特定の復帰の前にあるバージョンの特定のファイルの内容を取得したい。 git show は動作していますが残念ながら git show が機能しません。 –

答えて

0

このコマンドが機能するはずですが、問題を再現できません。

このコマンドは、指定した特定のコミットにあった完全なファイルを表示します。あなたはそれがあなたの地元のWORKDIRへのパッチのコミットの差分を表示したい場合は

、代わりにその構文を使用します。

git diff <revision> <path> 

git diff SHA~1 file_path 

あなたがそのファイルのパッチを表示したい場合は、使用

git log -p -1 <revision> <path> 
+0

あなたの迅速な対応をありがとう、しかし私はちょうど他のコマンドではない "git show"を使用したいです。 sha〜1を使うのではなく、以前のコマンドshaを得ることができますか? –

+0

親のコミットを取得するには、 'git log --pretty = 'format:%H' HEAD^-1' – blue112

+0

あなたのコメントをありがとうございます。 HEADのシャーだけでなく、任意のシャーの前のシャーを手に入れたいです。 –

0

コミット時にgit showを実行すると、そのコミットに関連するdiffのみが表示されます。 documentation

コミットの場合、ログメッセージとテキスト差分が表示されます。

あなたが特定のファイルの差分を確認したい場合は、あなたがrange syntaxgit diffを使用する必要があります。

git diff SHA-1^:path/to/file..SHA-1:path/to/file 

これはあなたに指定されたSHA-にコミット間path/to/fileの違いを表示します1とその親はSHA-1^で参照されます。親が参照するさまざまな方法については、ancestry referencesのドキュメントを参照してください。

+0

'git show 'は、特定のファイルと特定のバージョンのリポジトリの内容を表示します。 私の質問は、以前のバージョンのshaでgit showコマンドを実行しても同じ結果を得る方法です。 –

+0

私は参照してください。どのシェルを使っていますか? –

+0

実際に私はシェルコマンドを使用していません。 私はgitコマンドを実行するためにgitpythonを使用しています。 'res = repository.git。(%s:%s "%(リビジョン+ '〜1')%)%%s%s%%s% 、 'file_path')) ' そして、gitも同様のコマンドで動作していないことがわかります。 –

関連する問題