86

私は開発者チームに git を紹介していますが、gitk は素晴らしいツールであることがわかりました。gitk を理解するには、git 履歴とビューアー ツール自体の両方を理解する必要があるため、理解するのも非常に困難です。

「gitk を使用した git 履歴の初心者向けガイド」のようなものへの良い参照はありますか?

4

4 に答える 4

95

特にgitk専用のものは見たことがありません。ここでは、「どのように機能するか」という観点から、それを突き刺します。すべての背後にある (または少なくとも一般的に同等の) コマンドを知ることは、コマンドライン ツールの使い方をより簡単に学習するのに役立ち、また、gitk をよりよく理解するためにドキュメントのどこを見ればよいかを示します!

ファイルメニュー

これは、最近のいくつかのメジャー バージョンで多少変更されています。現在の状態について説明しています。

  • update と reload: これはおそらく最も紛らわしいことです。リロードは、同じ構成でプログラムを最初からやり直したかのようにすべてを更新します。つまり、ブランチが削除/リベースされた場合、一部のコミットがぶら下がっている場合、それらは表示されなくなります。一方、更新はすべての情報を更新しますが、以前に表示されたすべてのコミットを表示します。これは、リベースしていて、失敗していないことを確認したい場合に最適です。元のバージョンとリベースされたバージョンの両方を見ることができます。

  • 参考文献:かなり明白です。参照には、タグとブランチ (リモートの場合があります) が含まれます。それらを再読したり、特定のものをクリックして履歴に表示したりできます。

ビュー

man ページにあるように、gitk はgit-rev-listオプションを使用して、表示する履歴を指定します。これらは、「表示」メニューでインタラクティブに設定することもできます。man ページは、ビューを制御する方法に関する詳細情報を見つけるのに最適な場所です (ほとんどの場合、コミット制限セクションにあります)。以前に見たことがあるならgit-log、あなたはこれをたくさん見たことがあるでしょう。

ヘルプ

ここにキーバインディングのリストがあります!甘い。

コンテキストメニュー

これは、いくつかの一般的な git porcelain コマンドを示しており、通常は共通/デフォルトの操作モードです。それらをリストすることは、少なくとも、それらが何をするかを理解するための適切なドキュメントを見つけるのに役立ちます。

  • git-diff (diff this <-> selected
  • git-format-patch (パッチを作成)
  • git-tag (タグの作成)
  • git-diff-tree (コミットをファイルに書き込みます。めったに使用されません)
  • gitブランチ
  • git-チェリーピック
  • git-reset (ブランチをここにリセット) これにより、ソフト、ミックス、またはハードのいずれかが表示され、それぞれの機能が簡単に思い出されます。man ページでのより長い説明ですが、もちろん、実際に理解するにはインデックスの概念を理解する必要があります。

「コミットをマーク」および関連するコマンドは、この時点で一目瞭然です。

ブランチのコンテキスト メニューには、git-checkout-dgit-branch の (削除) モードがあります。

中間セクション

  • SHA1 ID: 現在のコミットのハッシュ。ターミナルにコピー/貼り付けして、gitk を使用して見つけた特定のコミットに対してアクションを実行するのに非常に便利です。ここにハッシュを貼り付けることもできます。

  • 進む/戻るボタン、行番号...一目瞭然!

  • 探す!ここでもオプションはかなり自明ですが、すべての人の教育のために、それらはgit-logパラメーターに類似してい--grepます-S

メッセージ/差分ペイン

ここに、コミット メッセージと git-diff の出力がありますgit-log -p

  • 「ブランチ」はgit branch -a --contains=<commit>

  • git describe [--contains] <commit>"Precedes"/"Follows" は( git-describe )と同等です

于 2009-10-15T07:29:33.430 に答える
24

ここでは、スクリーンショットを使用して gitk でブランチ履歴を視覚化する方法を紹介します。

http://lostechies.com/joshuaflanagan/2010/09/03/use-gitk-to-understand-git/

  1. 左上のペインには、このリポジトリへの一連のコミットが表示され、最新のものが一番上になります。
  2. 3 つのコミットがあり、すべて Tony Stark によるものです。
  3. 最新のコミットのコミット メッセージは「3 番目のコミット」でした</li>
  4. 「master」という名前の単一のローカル ブランチがあり、最新のコミットを指します。
  5. 単一のリモート参照ブランチがあります。「origin」という名前のリモート リポジトリからの「master」ブランチであり、最新のコミットも指します。
  6. 一番上のコミットの横にある黄色い点は、それが現在作業フォルダー (HEAD と呼ばれる) にあるスナップショットであることを示します。
  7. 2 番目のコミットを強調表示して、下のペインでその詳細を確認できるようにしました
  8. 2 番目のコミットのコミット SHA (一意の識別子、サブバージョンのリビジョン番号と同様) は
    3d024dd9e4a83d8c6a9a143a68b75d4b872115a6 です。
  9. 右下には、2 番目のコミットによって影響を受けるファイルのリストが表示されます
  10. 左下には、完全な差分を含むコミットの詳細が表示されます
  11. 右下のペインでファイルをクリックすると、左下のペインの差分が対応するセクション 12 までスクロールされます。
于 2012-07-02T10:52:44.210 に答える
3

「gitkと履歴の組み合わせ」という点で初心者が実際に使用できるのは、gitkツリービューを見て何が起こったのかを認識する方法の具体的な説明です。

私が得た限り、ツリーを見る正しい方法は(もちろん)です:

 1. each node is a commit
 2. ultimate parent is at the bottom
 3. direct child to a commit is the one that happened first in the same branch (no matter who did it)
 4. the node with 2 or more children indicates ... ?
 5. merge commit node has 2 parents.
 6. rebase is recognized ... ?

スクリーンショットもいただければ幸いです。

ツリーは、実際にはリポジトリの現在の状態を表しています。何が起こったのかをツリー ビューで確認できるようになれば、すばらしいことです。

ありがとう

v。

于 2010-02-18T19:36:44.100 に答える
1

gitk インターフェースについて私が便利だと思う唯一のことは、素敵な (カラフルな) ブランチの概要です..

Git 用の GUI が必要な場合は、Windows では TortoiseGit、Mac では GitX、Linux では QGit を確認してください。

于 2009-10-15T07:32:33.290 に答える