1
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をコマンドラインで操作したい

Last updated at Posted at 2024-11-13

はじめに

研修中に先輩から「本配属後はまず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

この作業
image.png

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管理下のすべての変更ファイルをステージングエリアに追加します。

GUIだとこの操作
image.png

git commit -m "〇〇"

ステージングされた変更をコミットします。

この作業
image.png

ブランチ操作

画面左下のこれがブランチ名
image.png
これをクリックするとブランチ一覧が表示されますが、コマンド操作で行う方法も紹介します。
image.png

git branch

git branchでローカルブランチの一覧を表示することができます。

*は現在使用中のブランチを表す
ブランチの利用は1人で作業するときでも有用です。ブランチで行った変更はmainブランチに影響しないため、試行錯誤を繰り返してコードがめちゃくちゃになってしまってもmainブランチに戻ればいつでも元の状態に戻せます。

-aオプションをつけると削除したブランチも見ることができます。

image.png

git branch <作成するブランチ名>

git branch <作成するブランチ名>で任意の名前でブランチを作成することができます。
実際はどんな作業をするのかがわかる名称にするのが良いです。

git switch <ブランチ名>

ブランチを切り替えます。

git switch basic-login 
app/models/application_record.rb
Switched to branch 'basic-login'

image.png

ブランチを切ったらそこで作業をしていきます。

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 <ブランチ名>

でマージできます。

これ
image.png

image.png

git push 

  1. ステージング git add
  2. コミット git commit

が済んでいるものをgit push
するとプッシュでき、GitHub上にも変更が反映されます。

git pull

git pullすることで最新のリモートリポジトリの状態をローカルリポジトリに反映させることができます。

これ
image.png

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

説明に誤りがあればご指摘ください。
最後まで読んでいただき、ありがとうございました。

1
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
1
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?