0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【完全保存版】忘れた時の Git 基本ワークフローと逆引きコマンドリファレンス

0
Last updated at Posted at 2026-04-13

はじめに

チーム開発や個人のプロジェクトで必須となるGitの操作を、1つの記事にまとめました。
前半では「自分のブランチで作業し、mainの最新を取り込んでからPRを出す」という最も標準的な開発ワークフローを、後半ではファイル名の変更やコミットの取り消しなど、状況に応じた逆引きリファレンスを記載しています。


目次

第1部:基本の開発ワークフロー

第2部:Git操作の逆引きリファレンス

【ファイル・フォルダの操作】

【コミットの取り消し・修正・その他】

第3部:応用編

第4部:ソロ編

[ソロ開発でよく使う手法]


第1部:基本の開発ワークフロー

自分の作業ブランチ(例: kiyoshi)に、大元となる main ブランチの最新の更新内容を取り込み、その後Pull Request(PR)を作成するまでの一連の流れです。

1-1. リポジトリをクローン(初回のみ)

git clone [リポジトリのURL]
cd [リポジトリ名]

1-2. 自分のブランチを作成して移動-削除や名前変更を含む

# -b オプションをつけることで、作成と移動を同時に行います
git checkout -b kiyoshi

# ローカルブランチを削除したい時は
# git branch -d <branch name>

# ローカルブランチの名前を変更したい時は
# git branch -m kiyoshi hoge

1-3. 自分のブランチで作業し、コミットする

# どのブランチにいるか確認
git status

# もし、他のブランチに居れば実行
git checkout kiyoshi

# 変更した全てのファイルをステージングエリアに追加
git add .

# メッセージをつけてコミット
git commit -m "saving my progress on kiyoshi branch"

1-4. mainブランチの最新の変更を取り込む (Sync)

自分が作業している間にリモートの main ブランチが更新されている場合、その内容を自分のブランチに取り込みます(これをしないと後でPRを出す時にコンフリクトが起きやすくなります)。

# 現在の状態を確認し、トラックされているかを見ます
git status

# リモートの main の変更を引っ張ってきて、自分のブランチにマージします
git pull origin main

** コンフリクト(競合)が発生した場合**
基本的にGitは自動でクリーンマージしてくれますが、同じファイルの同じ行を編集していた場合などは「Merge conflict」と通知されます。
その場合は、該当ファイルを開いて手動で修正し、保存します。その後、以下のコマンドでマージを完了させます。

git add [修正したファイル名]
git commit -m "Merged main updates into kiyoshi and resolved conflicts"

1-5. 自分のブランチをリモートへPush

# 最初のPushの場合(追跡元を設定)
git push --set-upstream origin kiyoshi
# (省略形: git push -u origin kiyoshi でも可)

# 2回目以降のPushの場合
git push origin kiyoshi

1-6. Pull Requestの作成

GitHub(またはGitLab等)の画面を開くと、プッシュしたブランチに対して「Compare & pull request」というボタンが表示されます。
そこをクリックし、kiyoshi ブランチの変更を main ブランチへマージするためのPull Requestを作成・送信します。


第2部:Git操作の逆引きリファレンス

ファイル構成の変更や、間違えてしまった時の取り消し操作などを状況別にまとめました。
※Push後の変更はチームメンバーに影響を与えるため、履歴を消さずに上書き・打ち消しを行うのが基本です。

2-1. ファイル名の書き換え

Push前

git mv [旧ファイル名] [新ファイル名]
git commit -m "Rename file"

Push後

git mv [旧ファイル名] [新ファイル名]
git commit -m "Rename file and push update"
git push origin [ブランチ名]

2-2. ファイルの移動(別フォルダへ)

Push前

mkdir [フォルダ名]  # フォルダがない場合のみ
git mv [ファイル名] [移動先フォルダパス]
git commit -m "Move file to subdirectory"

Push後

git mv [ファイル名] [移動先フォルダパス]
git commit -m "Move file to subdirectory"
git push origin [ブランチ名]

2-3. フォルダ名の変更

Push前

git mv [旧フォルダ名] [新フォルダ名]
git commit -m "Rename directory"

Push後

git mv [旧フォルダ名] [新フォルダ名]
git commit -m "Rename directory"
git push origin [ブランチ名]

2-4. ファイルの削除

Push前

git rm [ファイル名]
git commit -m "Delete file"

Push後

git rm [ファイル名]
git commit -m "Delete file"
git push origin [ブランチ名]

2-5. フォルダの削除

Push前

# -r オプションでフォルダ内を再帰的に削除
git rm -r [フォルダ名]
git commit -m "Delete directory"

Push後

git rm -r [フォルダ名]
git commit -m "Delete directory"
git push origin [ブランチ名]

2-6. コマンドでのコミット取り消し(Push前)

直前のコミットのみを取り消し、ワークツリー(ファイルの中身)はそのまま維持して「Untracked/Staged」状態に戻す操作です。

git reset --soft HEAD~1

2-7. コミット内容の修正(Push後:Revert)

Push済みのコミットを消すとリモートとの不整合が起きるため、**「内容を打ち消す新しいコミット」**を作ります。

git revert [コミットID]
git push origin [ブランチ名]

2-8. 作業の一時避難(Stash)

作業途中に main の修正を取り込みたい時など、現在の変更を一時的に脇に置いておく機能です。

# 一時避難
git stash
# 避難したリストを確認
git stash list
# 作業を戻す
git stash pop

2-9. ログと変更箇所の確認(Log/Show)

# コミット履歴を一行で表示
git log --oneline
# 特定のコミットの変更内容を詳細表示
git show [コミットID]

2-10. 不要なファイルの掃除(Clean)

Git管理されていない(Untracked)ファイルを一括削除します。ログファイルなどが大量に生成された時に便利です。

# 削除されるファイルの確認(実行前に必ずテスト)
git clean -n
# 実際に削除
git clean -f

第3部:応用編

3-1. 特定の1コミットだけを切り出してPRを作成する(cherry-pick)

「作業ブランチの特定の変更(例: 73050f8)だけを先にマージしたい!」という場合の手順です。

ステップ1: mainブランチを最新にする

git checkout main
git pull origin main

ステップ2: PR用の一時ブランチを作成する

git checkout -b add-parameter-script

ステップ3: 特定のコミットだけをコピー(cherry-pick)

git cherry-pick 73050f8

💡 コンフリクトが起きたら?
修正後、git add してから以下を実行します。

git cherry-pick --continue

ステップ4: PushしてPRを作成

git push -u origin add-parameter-script

ステップ5: マージ後のお掃除

git checkout main
git pull origin main
git branch -d add-parameter-script

3-2. 以前の特定のコミットの状態にハードリセットする

「以前のコミットされた状態(例: 3d4322d)にmainブランチを戻したい」という場合の手順です。

履歴も消されてしまう前提ですので、気を付けてください。

ステップ1: mainブランチにする

git checkout main
git status # 確認
git branch # 確認2

ステップ2: mainブランチの履歴を確認する

git log --oneline --decorate -10 #10履歴を見る

ステップ3: ハードリセット

git reset --hard 3d4322d
git push --force-with-lease origin main

💡 ソフトリセットは?
Revert コマンドを利用して、特定アクションを撤回します。

git revert -m 1 0ae260a
git push origin main

force-pushしたくない場合は、この方が無難です。

ステップ4: mainブランチの履歴を再確認する

git log --oneline --decorate -10 

第4部:

ソロ開発でよく利用するコマンドをまとめました。

4-1. ローカルでmainブランチへマージ

ローカルブランチで、他のブランチからmainブランチへマージします。

git checkout main
git pull origin main
git merge --no-ff task1-bootstrap-audit-local
git push origin main

最後に

Gitの操作は、最初はエラーメッセージやコマンドが多くて複雑に感じるかもしれません。しかし、今回まとめた「ブランチを切る → 作業する → 最新を取り込む → Pushする」という基本サイクルを繰り返すうちに、息をするように自然に使えるようになっていきます。

もし操作に迷ったり、取り返しのつかないミスをしそうで不安になった時は、**「とりあえず現状の変更をコミットして保存する(またはStashで避難させる)」**ことだけを心がけてください。ローカルに履歴さえ残しておけば、Gitは後からいくらでもやり直せる強力な味方です。

この記事が、あなたのスムーズで安全な開発ライフの「お守り」になれば幸いです。プロジェクトでの開発、応援しています!

Happy Hacking!!

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?