はじめに
研修中に先輩から「本配属後はまずGitをCLIで操作できるようにしよう。CLIの方が操作が速く、Gitの動きを理解するのにも重要だよ」とアドバイスを受けました。そこで、Railsチュートリアルを進める中で、Gitコマンドの操作を実践する機会が多かったため、今回そのまとめをしてみました。
なお、この記事ではコマンド操作とGUIの比較も一部で行っています。使用するリポジトリは、Railsチュートリアルで作成したものです
Gitコマンド
git clone リポジトリのURL
git status
git add -A
git commit -m "メッセージ"
git branch ブランチ名
git branch -d ブランチ名
git switch -c ブランチ名
git switch ブランチ名
git merge ブランチ名
git push
git pull
git log
それでは順番に紹介していきます。
git clone
リモートリポジトリのコードをローカル環境にコピーするコマンドです。
git clone リモートリポジトリのURL
git status
git status
を使用することで現在のリポジトリの状態を確認します。変更内容や追加されたファイルが表示されます。
git status
On branch main
Your branch is up to date with 'origin/main'.
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
modified: app/models/application_record.rb
git add -A
git add-A
を実行するとGit管理下のすべての変更ファイルをステージングエリアに追加します。
git commit -m "〇〇"
ステージングされた変更をコミットします。
ブランチ操作
画面左下のこれがブランチ名
これをクリックするとブランチ一覧が表示されますが、コマンド操作で行う方法も紹介します。
git branch
git branch
でローカルブランチの一覧を表示することができます。
*
は現在使用中のブランチを表す
ブランチの利用は1人で作業するときでも有用です。ブランチで行った変更はmainブランチに影響しないため、試行錯誤を繰り返してコードがめちゃくちゃになってしまってもmainブランチに戻ればいつでも元の状態に戻せます。
※-a
オプションをつけると削除したブランチも見ることができます。
git branch <作成するブランチ名>
git branch <作成するブランチ名>
で任意の名前でブランチを作成することができます。
実際はどんな作業をするのかがわかる名称にするのが良いです。
git switch <ブランチ名>
ブランチを切り替えます。
git switch basic-login
app/models/application_record.rb
Switched to branch 'basic-login'
ブランチを切ったらそこで作業をしていきます。
git switch -c <ブランチ名>
上で紹介したgit branch <作成するブランチ名>
とgit switch <ブランチ名>
の2つを同時にしてくれるコマンドです。
ブランチの作成と切り替えを同時に行います。
git branch -d(D)
ブランチを削除します。-d
はマージ済みのブランチ、-D
は未マージのブランチを削除します。
git branch -d #マージ後
git branch -D #マージ前のブランチ
git merge <ブランチ名>
現在のブランチに指定したブランチをマージします。まず、git swtich main
でメインブランチに移動してから実行します。
あとは、
git merge <ブランチ名>
でマージできます。
git push
- ステージング
git add
- コミット
git commit
が済んでいるものをgit push
するとプッシュでき、GitHub上にも変更が反映されます。
git pull
git pull
することで最新のリモートリポジトリの状態をローカルリポジトリに反映させることができます。
git log
過去の操作履歴を確認することができます。
実際に見てみてください。
以下のような感じで出てきます。
sample_app % git log
commit 4ee2e9b7e0781a7ad8aa18098c09b22892a67ce6 (HEAD -> main, origin/main, password-reset, newbranch)
Author: User Name <email@example.com>
Date: Fri Nov 1 20:25:17 2024 +0900
Add pasword reset
commit df0768c764cd2f0f86ad86e8353b96a58bec1ed2
Author: User Name <email@example.com>
Date: Fri Nov 1 14:24:56 2024 +0900
change render-build.sh
おまけ
間違えてコミットしてしまった場合の取り消し方
git reset HEAD^
直近のコミットを削除したい場合はこれで対応が可能です。
以下、git reset
オプションです。
-
--softオプション
:ワークディレクトリの内容はそのままでコミットだけを取り消したい場合に使用。 -
--hardオプション
:コミット取り消した上でワークディレクトリの内容も書き換えたい場合に使用。 -
HEAD^
: 直前のコミット -
HEAD~{n}
:n個前のコミット(git logでコミット履歴を確認しましょう)
最後に
今日紹介した中でもよく使ったコマンドをよく使う順番で(ランキングではなく流れ)まとめておきます。
git clone リポジトリのURL
git status
git switch -c ブランチ名
git add -A
git commit -m "メッセージ"
git switch main
git branch #ブランチ名の確認
git merge ブランチ名
git push
説明に誤りがあればご指摘ください。
最後まで読んでいただき、ありがとうございました。