Python VTuber サプー「【わかりやすい!Git操作】初心者向けのGitの基本 〜 30分で入門!」
ソースコードやファイル群を1つのまとまりとして管理する場所(フォルダ)。.gitという隠しフォルダ内に全履歴情報が記録される。
「この時点のファイル状態」を履歴としてセーブ・記録すること。固有のハッシュ値(コミットID)が割り振られ、いつでもその状態へ復元可能。
本番(メイン)のコードに影響を与えずに新機能開発や実験を行うための「枝分かれした作業線」。デフォルトは main(または master)。
枝分かれしたブランチでの変更結果を、ベースとなるブランチ(mainなど)に取り込んで合体させる操作。
Gitでは、ファイルをいきなりコミットするのではなく、「作業場所」→「コミット予約(ステージ)」→「コミット完了」の3段階を踏みます。
| ファイル状態 | 意味 | 対応する操作 |
|---|---|---|
| Untracked | Gitの追跡対象になっていない新規ファイル | git add <ファイル名> で追跡開始 |
| Changes to be committed | ステージング済み(コミット予約完了状態) | git commit -m "メッセージ" で記録 |
| Changes not staged for commit | add後にさらに変更されたが、まだ予約されていない部分 | 最新を記録したいなら再度 git add |
.idea/)など、Git管理したくないファイルは .gitignore にファイル名・フォルダ名を書いてコミットすれば自動で追跡から除外されます。
管理したいフォルダに移動し、Git管理を開始する。
現在のブランチ、変更されたファイル、ステージング状態を確認する。
指定ファイル、またはフォルダ内全ファイルをコミット対象として登録する。
わかりやすい説明文を付けてその時点の状態を確定記録する。
過去のコミット履歴とコミットID(ハッシュ値)を確認する(q で終了)。
mainから分岐して安全に新機能を開発する(階層命名 feature/... がおすすめ)。
ブランチを切り替えると、フォルダ内のファイル構成もそのブランチの状態に瞬間的に変化する。
取り込み先のブランチ(例: main)に移動した状態で、取り込みたいブランチ名を指定する。
「色々いじったけど完全に以前のコミットの状態へ巻き戻したい」場合に使用。
※巻き戻した以降の履歴・作業は失われ、元に戻したログも残りません。取り扱い注意。
特定のコミットで行った変更だけを「取り消す新しいコミット」を作成して相殺する。
※「このコミットを取り消した」という履歴が綺麗に残るため、チーム開発でも安全です。
コンフリクトとは? 2つの異なるブランチで「同じファイルの同じ行」を変更したままマージしようとした際、Gitが自動判断できずに発生する衝突状態です。
・左側: 取り込み先(メインブランチ)の現在のコード
・右側: 取り込もうとしている(フィーチャーブランチ)のコード
・中央(結果): 最終的に残すコード。両方の矢印ボタンを押して取り込んだり、手動編集で余分な改行を整えて「適用」すれば競合解消完了!