Gitでバージョン管理をしようと操作方法などを調べるわけですが奥が深く果てしないので、「個人的にこれだけは」に絞って残しておく。
ここでは以下のことができるようにメモを残す。
・Gitのセットアップ
・ローカルPC⇔Gitのデータやり取り(バージョン更新)
・ブランチ操作
・マージ
・マージ取り消し
※GitLabを使うので細かい点でGitHubと相違の可能性有り
Gitセットアップ
windowsを使う方は以下のサイトでコマンドラインからGit操作ができるようにする
以外の方は、SSH設定から。
SSHの設定を行う(↓過去の記事)
ここまでで、プロジェクトのクローン、変更後のpushやpullができるようになります
バーション管理が目的なので、コミット時のコメントは重要な要素になります。確実に残しましょう。
通常作業をやってみる
ここでいう通常作業とは、作業用にブランチを切ってから作業し良ければメインブランチにマージすることとします。
先に3つの用語だけ抑えておく
| ローカルリポジトリ・・・自分のパソコンの作業用Git |
|---|
| リモートリポジトリ・・・チームで共有するサーバ上のGit(GitLabやGitHub) |
|---|
| ブランチ・・・木の枝をイメージ。「ブランチを切る」ことで、メインの流れから別の流れ(新機能や編集)を作り作業する。 |
|---|
ピンとこなくても、作業していく中で解像度上がっていきます
・リモートリポジトリにプロジェクトを作成
プロジェクト名を入力して作成する

プライベート公開、README作成だと上記のチェックになる
・クローン
クローンのやり方詳細は添付記事(SSHの設定)にあるので省略
git clone リンク
クローンができたら、ターミナル上の作業フォルダを対象フォルダに移動しとく
今回は「test」プロジェクト
# フォルダ移動
cd test
# 中身確認
ls
"""出力
README.md
"""
・1回目の編集(新規作成) ~main.pyの作成~
何かしらでファイルを作成しプログラムを書く。
これを1回目の編集とします。
編集というよりまだ新規作成に近い気もします。
実際には、既存のプログラムをいれるだけなこともあると思います。
今回作成したプログラムの中身は「1回目の編集」と出力するものです。
touch main.py # ファイル作成
nano main.py # 編集
python3 main.py # 起動
"""出力
1回目の編集
"""
ls
"""出力
main.py README.md
"""
・リモートリポジトリにPush
git add . # カレントディレクトリの全ての変更点をステージングエリアへ
git commit -m "1回目の編集-20250101-name"
git push origin main
現状把握のため、以下コマンドで都度状態確認をする癖をつけてもいいかも。
git status
GitLabを見ると以下のように更新されてます

main.pyは、さきほどのコミットコメントが反映されてます
READMEは、変更点を加えていないためコメントに変化はありません
・2回目以降の編集
ここからは紛れもなく編集フェーズです
編集する前に、リモートリポジトリをローカルリポジトリに反映させます。
(mainブランチを最新にする)
git pull origin main
ブランチを切る
# ブランチの作成と切り替えを同時に行うコマンド
git checkout -b test_branch
# 作業ブランチの確認
git branch
"""出力
main
* test_branch
"""
# * = 作業ブランチ
test_branchで編集を行う
今回はmain.pyに出力を追加します
python3 main.py
"""出力
1回目の編集
2回目の編集 #追加
"""
test_branchをリモートリポジトリに反映させる
git add .
git commit -m "2回目の編集"
git push origin test_branch
GitLabでブランチを確認してみる

「main ↓」ボタンをクリックするとブランチを確認できる。クリックすることで、リモートリポジトリ上でブランチを切り替えられる。
・マージリクエストを送る
ブランチをpushすると下記画面のように「Create merge request」ボタン出現するのでこれを押す

もしくは、
ソースブランチとターゲットブランチを選択する。今回は「test_branch」を「main」にマージするので以下の様に設定。
「Compare branches and continue」でリクエスト内容の入力に進む。

それぞれ記入して「Create merge request」

承認者は左タブ「Merge requests」→「Merge」で承認する

ローカルリポジトリのtest_branch削除
git branch -d test_branch
マージを取り消す
マージしたあとに戻したくなっときは以下。
コミットやマージの履歴が閲覧できる。対象のマージを見つけ、右の「Copy commit SHA」でSHAをコピーする

ターミナルで以下を実行する
git revert -m 1 コピーしたSHA
このときターミナルでファイルが開く。コミットコメントを編集し保存して閉じる。
これでマージ前の状態に戻るので、良ければリモートリポジトリへPushする。
以降メモ
・ローカルのブランチ確認
git branch
・ブランチを切る
git branch ブランチ名
・作業ブランチの切り替え
git checkout ブランチ名
・ブランチを作成し切り替えまで行う
git checkout -b ブランチ名
・作業ブランチの作業状態確認
git status
・変更箇所の確認(add未実施_StagingAreaとの差)
git diff
・コミット履歴
git log
・過去のコミットに戻る
git checkout コミット名
※コミット名とは
git log の出力は以下のようになる
"""
commit 99e82b12d0aaa4f73143bfdf3027831ff0351fab
Author: name <email>
Date: Tue Oct 7 14:27:09 2025 +0900
test2
commit 5ccdb295d8cb9a5049335361468b34165af2d2e2
Author: name <email>
Date: Tue Oct 7 14:15:52 2025 +0900
test
"""
この時コミット名は以下2つ
99e82b12d0aaa4f73143bfdf3027831ff0351fab
5ccdb295d8cb9a5049335361468b34165af2d2e2
・最新コミットに戻る
git checkout ブランチ名
・リモートリポジトリのブランチ削除
git push --delete origin ブランチ名
・ローカルリポジトリのブランチ削除
git branch -D ブランチ名
・ブランチを指定してクローンする
git clone -b ブランチ名 アドレス
・過去のコミットに戻してそれを最新コミットとする





