📢 Webサイト閉鎖と移転のお知らせ
このWebサイトは2026年9月に閉鎖いたします。
新しい記事は移転先で追加しております。(旧サイトでは記事を追加しておりません)
| (同じ利用者による、間の5版が非表示) | |||
| 67行目: | 67行目: | ||
<br><br> | <br><br> | ||
== 過去のコミットに戻る == | == ステージング == | ||
<code>git add</code>コマンドは、作業ツリーにあるファイルやディレクトリをステージする。<br> | |||
<br> | |||
==== ファイルのステージング ==== | |||
# 各ファイルを1つずつステージする場合 | |||
git add README.txt | |||
<br> | |||
既にステージされているファイルやディレクトリにおいて、作業ツリーから全てステージする場合は、<code>-u</code>オプションを付加する。<br> | |||
これは、作業ツリーから全てステージするファイル名を指定せずに、現在、Gitの管理下にあるファイルが作業ツリーから全てステージすることができる。<br> | |||
git add -u | |||
# または | |||
git add -u . | |||
<br> | |||
==== ディレクトリのステージング ==== | |||
<code>git add</code>コマンドの引数にディレクトリを指定する場合、そのディレクトリ直下にある全てのファイルとディレクトリをステージに入れる。<br> | |||
<br> | |||
<u>ただし、Gitは空のディレクトリを管理しない。</u><br> | |||
<u>空のディレクトリを管理する場合は、そのディレクトリに空のダミーファイル (.gitkeepという名前にすることが多い)、あるいは、.gitignoreファイルを入れてステージするとよい。</u><br> | |||
<br> | |||
==== 全てのステージング ==== | |||
プロジェクト内の全てのファイルとディレクトリをGitの管理下に置くことができる。<br> | |||
<u>ただし、バージョン管理しないファイルおよびディレクトリ (自動的に生成されるファイルやログファイル等) も管理下に入ることに注意する。</u><br> | |||
git add . | |||
<br><br> | |||
== コミット == | |||
==== コミットの実行 ==== | |||
ステージの内容をコミットする。<br> | |||
git commit | |||
<br> | |||
コミットに関するメッセージ (コミットメッセージ) を記述するため、Gitで指定したエディタが起動する。<br> | |||
表示されたファイルの上部に、コミット内容を記載する。<br> | |||
# ここにコミット内容を記載する | |||
<コミット内容 例: hoge.txtファイルを追加> | |||
# Please enter the commit message for your changes. Lines starting | |||
# with '#' will be ignored, and an empty message aborts the commit. | |||
# | |||
# On branch master | |||
# | |||
# Initial commit | |||
# | |||
# Changes to be committed: | |||
# new file: hoge.txt | |||
# | |||
<br> | |||
==== コミットメッセージの記述方法 ==== | |||
コミットメッセージは、該当するコミットでの変更を後から知るための情報である。<br> | |||
以前のコミットに戻す場合、コミットメッセージが不明瞭だとチェックアウトして確認しなければならない。<br> | |||
<br> | |||
コミットメッセージは、慣習的に以下に示すような形式で記述する。<br> | |||
* 1行目は、要約を記述する。 | |||
* 2行目は、空行を1つ入れる。 | |||
* 3行目以降は、詳しい説明を記述する。 | |||
<br> | |||
# コミットメッセージの例 | |||
hoge.txtファイルを作成 | |||
このプロジェクトを説明するhoge.txtファイルを作成した。 | |||
このファイルは、◯◯をするものである。 | |||
<br> | |||
もし、コミットメッセージが1行の場合は、<code>git commit -m "<コミットメッセージ>"</code>コマンドを実行する。<br> | |||
git commit -m "<コミットメッセージ>" | |||
<br> | |||
==== コミットの中止 ==== | |||
編集中のコミットメッセージの全ての行を削除・保存してエディタを終了する場合、Gitはコミットの中止と判断してコミットを取りやめる。<br> | |||
ただし、#で始まる行は残っていても構わない。<br> | |||
<br> | |||
==== コミットの閲覧 ==== | |||
直近のコミット履歴を見る。<br> | |||
git log | |||
<br> | |||
各コミットを1行で表示する。<br> | |||
git log --oneline | |||
<br> | |||
ブランチの分岐も表示する。<br> | |||
git log --graph --oneline --all --decorate | |||
<br> | |||
詳細情報を含めて表示する。<br> | |||
# 変更されたファイルと行数を表示 | |||
git log --stat | |||
# 実際の変更内容 (差分) も表示 | |||
git log -p | |||
<br> | |||
特定の条件で検索する。<br> | |||
# 直近のN件だけ表示 | |||
git log -n 5 | |||
<br> | |||
特定の日付以降のコミットを見る。<br> | |||
git log --since="2024-01-01" | |||
<br> | |||
特定の著者のコミットを見る。<br> | |||
git log --author="ユーザー名" | |||
<br> | |||
コミットメッセージで検索する。<br> | |||
git log --grep="<検索するコミットメッセージ>" | |||
<br> | |||
特定のコミットの詳細を見る。<br> | |||
# コミットハッシュを指定 | |||
git show <コミットハッシュ> | |||
<br> | |||
変更されたファイルだけを見る。<br> | |||
git log --name-only | |||
<br> | |||
コミット履歴が長い場合は、[スペース]キーで次のページに進み、[q]キーで終了できる。<br> | |||
<br> | |||
より視覚的に確認する場合は、gitkというGUIツールを使用する。<br> | |||
gitk --all | |||
<br> | |||
==== コミットのハッシュ ==== | |||
コミットを特定する場合、そのコミットのハッシュを使用する。<br> | |||
これは、コミットの内容をSHA-1ハッシュ関数に掛けて得られる値である。<br> | |||
<br> | |||
Gitは、このハッシュ値をコミットを識別するIDとして使用する。<br> | |||
コミット時に表示される16進数の値は、コミットのハッシュの先頭の7桁である。<br> | |||
<br> | |||
Gitは、現在のコミット (最新のコミット) を指すポインタを保持しており、このポインタをHEADという。<br> | |||
<br> | |||
コミットを行った場合は、HEADは自動的に該当するコミットに移動する。<br> | |||
<br><br> | |||
== ブランチ == | |||
==== 過去のコミットに戻る ==== | |||
例えば、不具合等が発生した時、発生箇所を突き止めるため一時的に過去のコミットに戻りたい場合がある。<br> | 例えば、不具合等が発生した時、発生箇所を突き止めるため一時的に過去のコミットに戻りたい場合がある。<br> | ||
また、併せて、最新のコミットに戻す場合も記載する。<br> | また、併せて、最新のコミットに戻す場合も記載する。<br> | ||
| 107行目: | 231行目: | ||
最新のコミットに戻す。<br> | 最新のコミットに戻す。<br> | ||
git checkout <ブランチ名> | git checkout <ブランチ名> | ||
<br> | |||
==== ブランチの非アクティブ (削除) ==== | |||
ブランチを削除する前に、以下に示す事柄を確認することを推奨する。<br> | |||
* 削除するブランチの変更が必要ないことを確認する。 | |||
* 重要な変更が他のブランチにマージされていることを確認する。 | |||
* 現在使用しているブランチでないことを確認する。<br><code>git branch</code>コマンドで確認可能 | |||
<br> | |||
===== ローカルブランチの削除 ===== | |||
# ブランチ hoge を削除 | |||
git branch -d hoge | |||
# ブランチ piyo を削除 | |||
git branch -d piyo | |||
<br> | |||
もし、変更がマージされていない場合は、-dオプションでは削除できずに警告が表示される。<br> | |||
強制的に削除する場合は、-Dオプションを使用する。<br> | |||
# 強制削除する場合 | |||
git branch -D hoge | |||
git branch -D piyo | |||
<br> | |||
===== リモートブランチの削除 ===== | |||
# リモートブランチの削除 | |||
git push origin --delete hoge | |||
git push origin --delete piyo | |||
<br><br> | <br><br> | ||
__FORCETOC__ | __FORCETOC__ | ||
[[カテゴリ:Git]] | [[カテゴリ:Git]] | ||