どうすればいいですか? git config
で変更を行った後、私はvimdiffで私の段階的かつコミットされた変更とは違うかもしれませんが、私が行うと、私はまだ古いプレーンスタイルのdiffを参照します。git show
git show
でもこの作業を行うにはどうすればよいですか?vimdiffを使ってgit showでdiffを表示するには
答えて
git show
とすると、コミット(see the man page for reference)のようなオブジェクトを表示できます。つまり、2つのファイルの差分を表示するのではなく、(おそらく複数の)ファイルの変更を表示します。したがって、比較できる2つのファイルはありません。しかし、それはまさにvimdiffがすることです、それは2つのファイルを並べて開き、違いを強調します。
git difftool
などを使用すると、diffの両側にファイルが作成され、ツール(あなたの場合はvimdiff)を使用して比較されます。 git show
はそれらのファイルを作成しないので、出力をvimdiffで表示することはできません。
tl; dr:git show
は、差分を作成するのではなく、gitオブジェクトを表示するツールであるため、vimdiffを使用してdiffとして表示することはできません。
git difftool
を使用することをお勧めします。変更されたファイルごとにgvimdiffが開きます。
普通のオプションgit diff
を使用して、さまざまなコミットを比較できます。
パラメータがないデフォルトのgit show
とgit show <object>
は、コミット内のすべてのファイルに変更を表示します。 vimdiffは一度に1つのファイルしか比較できないため、これらのオプションでは使用できません。
しかし、git show <object> -- <file>
は、コミット内の1つのファイルに対する変更を示しています。代わりにdifftool
を実行してはvimdiffの変化を表示することができます。
git difftool SHA~:SHA -- <file>
あなたはより多くの柔軟性が必要な場合は、常にファイルの特定のバージョンを取得するためにgit show
を使用してはvimdiffにそれらを渡すことができ
export FILE=path/to/file; vimdiff <(git show SHA1:$FILE) <(git show SHA2:$FILE)
gitエイリアスを使用してみてください。これはgit show
git config --global alias.s difftool\ HEAD^\ HEAD
のためのものであり、これはthis pageに慣れ、それがどのように動作するかを確認するにはgit show <revision>
git config --global alias.s '!f() { rev=${1-HEAD}; git difftool $rev^ $rev; }; f'
です。
- 1. meld/vimdiffでunified diffを表示する他のツール
- 2. git pythonを使ってdiffを取得するには
- 3. Git diffで間違った変更が表示される
- 4. git diffコマンドで相対パスを表示する方法は?
- 5. Intellij 2017.1.1 gitコミットとフォルダのローカル変更を比較するために "Show Diff with Local"を表示
- 6. git diffの相違点を示すgit diff
- 7. コミットメッセージにdiffを表示
- 8. ビジュアルツールを使ってgit stashを表示
- 9. Git gvim diffは違いを表示できません
- 10. Git diff -S一致する行だけを表示する
- 11. Netbeansを使ってmasterとorigin/masterとの間でGit diffを使用する
- 12. Ng-showは何であってもdivを表示します
- 13. git diff:両方のコミットに存在するファイルに対してdiffのみを表示
- 14. svn diff show remote changesを作るには?例については
- 15. git diffを作成するにはgithubのプルリクエストのdiffと同じ結果が表示されますか?
- 16. スペースでHTMLにGit Diffを使用するには?
- 17. Vimdiff:変更の総数を表示
- 18. git showリモートリポジトリ(1つのファイルの内容を表示する)
- 19. diffをgit-diffのようにするには?
- 20. MySQL: `SHOW INDEX`は` SHOW CREATE TABLE`とは違って表示されます
- 21. git diffをgrepするには?
- 22. gitで新しいファイルのdiffを表示するにはwinmergeを取得するには?
- 23. "git diff"の "diff - git"出力は何を指していますか?
- 24. コマンドラインを使ってgit repoの状態を表示するには
- 25. git logは--no-patchにもかかわらずdiffを表示します
- 26. 個々の親からgit diffを表示
- 27. Gitリポジトリ:私は `Gitのdiff`
- 28. git terminal showブランチ名の隣に "rebase"と表示されます
- 29. git diffが十分に表示されない
- 30. `git diff`を終了すると` git diff`を端末の結果に保存する方法は?私は<code>git diff</code>を実行すると
可能な複製http://stackoverflow.com/questions/28048270/how-do-i-use-vim-as-git-show-editor – anujm