0
0

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-03-17

はじめに

本記事では、私のようなGit初心者を対象に
① よく使うGitコマンドの一覧
② Gitの一連の操作フロー
をまとめています。


【初心者向け】Gitコマンドまとめ&実践フロー(init〜mergeまで)

はじめに

本記事では、Gitをこれから実務で使う人向けに、
① Gitの基礎理解(概要・利点・用語)
② よく使うGitコマンド一覧
③ 実際の開発フロー(init〜merge)
をセットで解説します。


0. Gitとは?

Gitとは、ファイルの変更履歴を管理するための分散型バージョン管理システムです。
ソースコードの変更を記録し、「いつ・誰が・何を変更したか」を追跡できます。

*GitとGithubの違い

GitとGithubは相互に連携して活用されるため混同されがちですが、一応違いはあります。

Git

  • ファイルの変更をインテリジェントに追跡するバージョンコントロールシステム
  • ユーザーとグループが同じファイルに同時に変更を加えようとする場合に特に便利

Github

  • リポジトリ(開発物)の管理・変更を行うクラウドベースのプラットフォーム
  • 作業の紹介や共有
  • 時間の経過に伴うコードの変更の追跡および管理
  • 他のユーザーにコードのレビューをしてもらい、それを改善するための提案を得ることが可能

参考

Gitの利点

① 変更履歴をすべて管理できる

  • 過去の状態に戻せる
  • 変更差分を確認できる
  • 「誰がどのような操作を行なった」か明らか(=責任の明確化)

② 並行開発ができる

  • 機能ごとに開発を分離
  • 安全に試行錯誤できる

③ チーム開発に強い

  • 複数人で同時に作業可能
  • 変更の統合(merge)が可能

④ 失敗してもやり直せる

  • reset / revert により復元可能
  • 実験的な変更も安心

Git特有の用語解説

個人的にGitを勉強する過程で苦労したポイントだったので、まとめてみました。

用語 意味
リポジトリ(repository) ファイルと変更履歴を管理する場所
ローカルリポジトリ 自分のPC上のGit管理領域
リモートリポジトリ GitHubなどの共有リポジトリ
ワーキングツリー(作業ディレクトリ) 実際に作業しているファイル群
ステージングエリア コミット前の変更を一時保存する場所
コミット(commit) 変更を履歴として記録すること
ブランチ(branch) 開発の分岐(並行作業用の環境を作成)
マージ(merge) ブランチを統合すること
push ローカルの変更をリモートに送信
pull リモートの変更を取得して反映
fetch リモートの変更を取得
clone リモートリポジトリをコピー
HEAD 現在の作業位置(最新のコミット)

1. Gitコマンド一覧(基本編)

コマンド コマンドの概要
git init Gitリポジトリを新規作成する
git clone リモートリポジトリをローカルにコピーする
git status 現在の変更状態を確認する
git add 変更をステージングエリアに追加する
git commit 変更を履歴として記録する
git log コミット履歴を確認する
git diff 変更差分を確認する
git branch ブランチの一覧・作成・削除
git checkout ブランチ切り替え/ファイル復元
git merge ブランチを統合する
git remote リモートリポジトリを管理する
git push ローカルの変更をリモートに送信
git pull リモートの変更を取得して統合
git fetch リモートの変更を取得
git reset ステージや履歴を戻す
git revert コミットを打ち消す新規コミットを作成
git stash 作業中の変更を一時退避

2. Git操作フロー(initからmergeまで)

ここでは、リポジトリの作成〜分岐ブランチのマージまでの一連のステップを解説しています。

イメージ

Gemini_Generated_Image_q0a3nzq0a3nzq0a3.png
*Nano banana proで生成したイメージです


STEP1:リポジトリ作成

mkdir git-test
cd git-test
git init

  
*必要に応じてユーザ名・ユーザーのメールアドレス情報を登録すると、「誰が何の操作をしたか」がわかりやすくなります

git config --global user.name XXX
git config --global user.email XXX

STEP2:ファイル作成と初回コミット

echo "Hello Git" > hello.txt

git status
git add hello.txt
git commit -m "初回コミット"

STEP3:変更の確認と履歴管理

echo "2行目追加" >> hello.txt

git diff        # 差分確認
git add hello.txt  # 変更内容をステージングエリアに登録
git commit -m "2行目を追加" # addされた変更内容をローカルリポジトリに保存

git log         # 履歴確認

STEP4:ブランチを切って開発

git branch feature # 新たにfeatureブランチを作成
git checkout feature # featureブランチに移る

もしくは

git checkout -b feature

変更を加える:

echo "featureブランチで編集" >> hello.txt

git add hello.txt
git commit -m "feature機能追加"

STEP5:mainブランチに戻る

git checkout main

STEP6:ブランチをマージ

git merge feature # feature → mainの方向に注意

これで "feature"ブランチの内容が、"main"ブランチに反映される


STEP7:リモートに反映

git remote add origin https://github.com/ユーザー名/リポジトリ名.git

git branch -M main
git push origin main

3. よくあるミスと対処

① addし忘れた

git status

赤文字はまだコミット対象外


② 間違ったファイルをaddしてしまった

git reset ファイル名

③ コミットを取り消したい

git revert HEAD

④ 作業を一時退避

git stash
git stash pop

⑤pushできない

これは私が実際に体験したミスなので、すこし詳細に記述しています。

症状

 ! [rejected]        main -> main (fetch first)
error: failed to push some refs to 'github.com:User/XXX.git'
hint: Updates were rejected because the remote contains work that you do not
hint: have locally. This is usually caused by another repository pushing to
hint: the same ref. If you want to integrate the remote changes, use
hint: 'git pull' before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.

のような記述がターミナル上で確認される

原因

リモートリポジトリとローカルリポジトリの不整合

# ローカル(main)のDをリモートリポジトリにpushしたい

リモート(main): A --- B --- C(featureマージ済)

ローカル(main): A --- B --- D(ローカル編集)

mainブランチの内容が分岐しているため、「ローカル→リモート」のpushを行おうとするとrejectされる

 
→ どのブランチで作業しているか・リモート/ローカルでどちらが進んだリポジトリかに注意

対策

git pull origin main --rebase # リモートの変更を取得し、今のコミットをその上に積み直す
git push origin main

4. まとめ

私自身Git経験に乏しい学生ですが、今回ハンズオンでGitを簡単に学ぶ中で

  • add → commit の流れで履歴を確実に残す
  • branchで環境を分離する

の2点がGitの強みだと感じました。
何かのお役に立てれば幸いです。

0
0
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
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?