🐁

Gitコマンド入門編

2023/07/06に公開

はじめに

Gitをコマンドで操作するようになったので、コマンドに慣れていない方へ向けて、はじめの一歩が踏み出せるように入門編として記事を書こうと思います。

よく使うものをまとめました。

コマンドの仕様など詳細は以下から
gitコマンドリファレンス

Gitをコマンドで操作するメリット

  • GUIの動作の重さに悩まされない(ストレスフリー
  • GUIに依存しない
    • たとえば業務でSourceTreeを使っている場合
    • SourceTreeから別のGUIに切り替えを行うことが無きにしも非ずだと思います
    • そういった場合にSourceTree以外のGUIに慣れるまでのコストがかからない
  • gitの理解が深まる
  • なんかかっこいい(重要)

逆引き

ローカルのブランチ一覧を取得したい
ブランチにチェックアウトしたい
ブランチ切ってチェックアウトしたい
コミットの履歴を見たい
コミットの履歴を指定した数だけ見たい
コミットの履歴を簡潔に指定した数だけ見たい
ツリーが見たい
ブランチの状態を見たい
プルしたい
変更をステージしたい
コミットしたい
プッシュしたい
スタッシュしたい
スタッシュを戻したい
マージしたい
リベースしたい
アメンドしたい

git branch

ローカルにあるブランチの一覧が取得できます。
現在チェックアウトしているブランチにアスタリスクが付きます。

git branch ブランチ名
これでブランチを切ることも可能です。

git checkout ブランチ名

対象のブランチにチェックアウトすることができます。

git switch ブランチ名
こちらでも同様の挙動です。

git checkout -b ブランチ名

新しくブランチを切ってチェックアウトできます。

git switch -c ブランチ名
こちらでも同様の挙動です。

git log

チェックアウトしているブランチのコミット履歴が見れます。

git log -コミット数

オプションで指定した数だけのコミット履歴が見れます。

git log --oneline -コミット数

git logで表示される1つ1つのコミットをそれぞれ1行で表示してくれるオプションです。

git log --oneline --graph

コミットのツリーが見れます。

git status

ブランチの状態を確認できます。

  • 変更がステージされていない時

  • 変更がステージされている時

git pull origin ブランチ名

リモートから最新の状態を持ってきます。
"git pull" でもいい
意味合いはちょっとちがうみたい

git add -A

変更をステージ出来ます。

オプションについて

  • -Aはすべての変更をステージ
  • ピリオド.は削除したファイル以外をステージ
  • -uは新規作成したファイル以外をステージ

基本 -Aで問題ないと思います。

git commit -m "コミットメッセージ"

コミットができます。

git push origin head

現在のブランチをpushします。

headの部分をブランチ名に変えることで任意のブランチをpushすることができます。

git stash

stashできます。

git stash pop

最後にstashしたものを取得できます。

git merge ブランチ名

現在のブランチに指定したブランチをmergeします。

git rebase ブランチ名

指定したブランチ・コミットにrebaseします。
特定のブランチの変更を取り込みたい時などに使う
※すでにpushしたブランチでは実行しない方がいい(merge使う)
できるだけ使いたいですね。

merge使うよりツリーが綺麗

fix-initをmasterにmergeしたので、masterから切ったadd-initは自身にmasterをmergeすることで最新を保たなければいけない。
こういった時に使います。

add-initなのにmasterにmergeされてないんですけどネ....

親ブランチに変更が入る前に切った子ブランチを
最新の親ブランチから子ブランチを切ったことにするイメージです。

git commit --amend --no-edit

現在の変更を最新のコミットに取り込みます
※コミットハッシュが変わるので注意

最新のコミットに含める
最新のコミットだったことにする

みたいなイメージです。

Thinkingsテックブログ

Discussion