普段 VS Code などの GUI から git を操作している人に向けて、知っていると便利な git command を紹介します。 ユースケースに基づいて git コマンドやそのコマンドのオプションを紹介するのでなにかに役立つかなと思いますが、 特に深堀りはしないのであとはご自分で調べてください!(いつか深堀り版を出すかも
※注意 厳密にいうとちょっと違うみたいなやつも用途に合わせて説明を書いています。 (working tree とか index とかを出さないようにしています)
そもそも git を知らない場合はまずは git について調べてください!
基本以下でOK
git init
.git ディレクトリが作成されます
❯ ls -a
.git main.v sub.v
git add <path>
今ある変更ファイルを全てステージ
git add -A
以下のコマンドを実行するとデフォルトのエディターが開いて commit メッセージを編集することができます
git commit
cli でメッセージも指定する場合は以下(日本語の場合はダブルクオートで囲むと良い)
git commit -m <message>
❯ git status
On branch main
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
modified: main.v
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: sub.v
git log
短く表示したい
❯ git log --oneline
6e0ad11 (HEAD -> main) update main.v complete
3b757b3 update amend
d4da05f add sub
b712382 first
git status コマンドを使います
# 特定のファイルのステージングを取り消す
git restore --staged <path>
# 現在のディレクトリ以下のファイルのステージングを取り消す
git restore --staged .
# ステージングされていないファイルの変更を取り消すときは `--staged` なしで実行する
git restore <path>
前回のコミットを上書きするには --amend
を使います
追加で修正を実施したので上書きしたい(複数ファイルを含む変更も可能
git add <path>
git commit --amend -m "fix: 追加修正"
commit メッセージだけ修正したい
git commit --amend -m "誤字を修正"
git checkout <commit> -b <new branch>
<type>(任意 スコープ): <タイトル>
[任意 本文]
[任意 フッター]
引用: nice.dev
git rebase -i
とかが使える
コードには How
— Takuto Wada (@t_wada) September 5, 2017
テストコードには What
コミットログには Why
コードコメントには Why not
を書こうという話をした