日本語

GIT — Git

GIT Git リポジトリは、フォルダーのように参照できます。変更されたファイル、ブランチ、履歴が見られます。

リポジトリを開く

バーの GIT ボタンは、お気に入りのプロジェクトに移動します。右クリックでリストが開きます。既知のリポジトリ、「コミット」、「履歴…」、ブランチ、「スタッシュ…」と「スタッシュ」、「タグ…」、「リモート」です。まだリポジトリになっていないディスク上のフォルダーでは、「ここにクローン」が提案されます。プロジェクトは、そこに入ると自動で追加されます。フォルダーがなくなったプロジェクトは忘れられますが、ディスクそのものがない場合は別です。USB メモリが外れただけでは、何も忘れられません。

フォルダーの状態

各行には色が付いています。衝突中、未追跡、変更済み、ステージ済み、無視です。git はファイルをインデックスと作業コピーという 2 つの軸で記述しますが、1 行に両方を示す余地はありません。色を決めるのは、まだ残っている作業です。パンくずリストには現在のブランチが表示されます。

ステージしてコミットする

「コミット」で変更のビューが開きます。1 行に 1 ファイルで、追跡の列に git が把握している内容が示されます。行の選択は他の場所と同じです。クリック、Ctrl+クリック、Shift+クリックで選び、下部にメッセージを書き、コミットを押すと選択したものが送られます。何も選択していなければ何も送られず、ボタンにもそう表示されます。

コミット バーの 未追跡 ボタンで、git が追跡していないものを隠せます。使い捨てのファイルだらけのフォルダーでも、コミットしたい 2 つが埋もれず、Ctrl+A でも巻き込まれません。オフにすると、隠している数を表示します。

リポジトリの変更のビュー:3 つのファイル、その追跡状態、そして下部のコミットバー。
リポジトリの変更と、コミットバー:メッセージ、選択したもの、そしてボタン。

差分を表示

「差分を表示」は、ブロックごとの差分を開きます。作業コピー、インデックス(ステージ済み)、コミットの間で比較し、前と後が明示されます。バイナリファイルの場合は、ノイズを表示せずにその旨をお知らせします。

操作

ブランチと履歴

ブランチの作成、切り替え、マージ。項目にはブランチ名が付き、マージするものはありません。すでに最新です、またはマージを中断しました:一部のファイルが衝突していますと応答します。「履歴…」はコミットを一覧します。短いハッシュ、件名、作者、日付です。左の余白がグラフを描き、各行は自分の線を持ち、マージは隣の列へ線を引きます。ダブルクリックすると、コミットの詳細(完全なメッセージと、変更したファイル)が開きます。

リポジトリの履歴:4 つのコミット、その件名、作者、そして余白のブランチのグラフ。
履歴と余白のグラフ:同じルートから分かれた 2 つのブランチと、それらを結ぶマージ。

マージリクエストツリー

GIT ボタンのメニューにある「マージリクエストツリー…」は、リモートが指す GitLab プロジェクトのオープンな MR を描きます。各 MR は派生元のブランチの下に、目次のように 1 段ずつインデントして並びます。段階が承認の順序を示し、カードをクリックすると MR がブラウザーで開きます。

リポジトリのマージリクエストツリー:main、インデントされた MR、互いに派生した 3 つの MR の連鎖
!31 は !28 から、!35 は !31 から派生しています。それぞれコミットを含む MR の下に並び、「の後」と「宛先 main」が付きます。右のボタンでブランチをチェックアウトし、チェック マークは現在いる main を示します。

リモートリポジトリとのやり取り

「プル」と「プッシュ」では、ラベルの横に対象のコミット数が表示されます。ゼロは表示されません。相手側にまだないブランチは、アップストリーム付きで送られます。リモートは、同じメニューから登録も削除もできます。サーバーが認証情報を求めたときは、何も言わずに止まるのではなく、Meneaufile が同様にそれを尋ねます。

退避する

「スタッシュ…」は、作業中の内容をコミットせずに退避します。説明は任意です。「スタッシュ」(退避した作業)は待機中のものを一覧し、そこから再開または破棄できます。「タグ…」でも、同じように追加と削除ができます。

この行を書いたのは誰か

ファイルのメニューにある「行の履歴」は、各行をそのコミットと作者に対応付けます。意外な行を見たときに知りたいのはこれで、コミットの一覧では答えが分かりません。

競合

衝突したファイルは、そのバージョンで開きます。共通の版、こちら側、あちら側、そして組み立てる結果です。「すべて取り込む」は片側をそっくり取り込み、「解決」で保存します。すると、そのファイルは衝突中の分類から外れます。

クローン

フォルダーから:アドレス(https://… または git@host:org/repo.git)、作成するフォルダーの名前、そして履歴を完全にするか浅くする(直近 N 件のコミット)か。

バンドル

.bundle ファイルは、1 つのファイルにまとめた Git リポジトリです。サーバーなしで、プロジェクトを USB メモリに入れて持ち運んだり、誰かに渡したりできます。ダブルクリックすると、その中身(ブランチとタグ)が表示されます。ここにクローン…を使うと、ネットワークなしで、そのすぐ隣に通常のリポジトリができます。リポジトリの中では、GIT のメニューのバンドルを作成…で、リポジトリ全体をもう一方のビューのフォルダーにまとめます。

git がない場合

Meneaufile は、システムの git を呼び出します。見つからない場合や PATH にない場合は、理由もなく失敗するのではなく、その旨を伝えます。

Meneaufile マニュアル(日本語版)。