背景
今までSourcetreeを使ってたけど、
コマンドの方がなんかかっこいいし、作業が早くなるらしいので練習中です!
この記事では自分が学んだ基本的なコマンドを紹介します!
CUIのメリット
- キーボードで完結 するので作業が早い!
-
GUIではできない、やりづらいこと が簡単に(?)できる
- 例
-
merge
の取り消し(revert
) - 過去コミットの編集
- etc..
-
- 例
- なんと言ってもかっこいい
1. ブランチの操作
ブランチを作る
新しいブランチを作る(今のブランチのまま)
git branch 新しいブランチ名
新しいブランチを作成して、そのブランチに移動する
git switch -c 新しいブランチ名
リモートブランチを持ってくる
git fetch
git switch リモートブランチ名
-
git fetch
でリモートの情報を取得し、checkout
で移動
ブランチを移動する
git switch ブランチ名
-
checkout
は古くて、今はswitch
の方が推奨されてる!(移動に特化)
現在いるブランチを確認する
git branch --show-current
2. 変更の確認 (git status
& git diff
)
変更の一覧を確認
git status
- 変更されたファイル、ステージング済みのファイルが分かる
変更の内容を確認
git diff
- どこを変更したのかを表示
- ワークツリーの変更を見る
ステージング済みの変更を確認
git diff --staged
-
git add
した後の変更を見る
3. 変更の適用 (git add
, git commit
, git push
)
変更をステージングする
git add ファイル名
- ファイル名の箇所を
.
にすることですべての変更をステージング
コミットする
git commit -m "コミットメッセージ"
-
-m
なしの場合、エディタが開いてメッセージを入力
(コミット内容が長文な時はこっちがいいかも)
リモートにプッシュする
git push -u origin ブランチ名
-
-u
をつけることで、次回以降はgit push
のみでよくなる
4. 変更の取り消し (git restore
, git reset
)
「変更を取り消したい!」と思ったときの対応方法
状況 | コマンド | 説明 |
---|---|---|
まだ git add してない変更を取り消したい |
git restore ファイル名 |
ワークツリーの変更を元に戻す |
ステージングしたけど取り消したい | git reset HEAD ファイル名 |
ステージングから外す(変更は残る) |
コミットごと取り消したい(変更は残す) | git reset --soft HEAD~1 |
コミットを削除して、変更はステージングに戻す |
コミットごと取り消して、ステージングも解除(変更は残る) | git reset --mixed HEAD~1 |
コミットを削除して、変更はワークツリーに戻す |
コミットごと取り消して、変更もすべて削除 | git reset --hard HEAD~1 |
完全に元に戻す(注意!) |
💡 HEAD~1
は「1つ前のコミット」という意味
💡 git reset --hard
は 変更が完全に消える ので、使う前に確認!
まとめ
基本的?な内容を一覧にしましたが、
別記事でトラブル対応編を書こうと思います!
もし間違えている箇所あればすみませんがご指摘ください、、!
閲覧ありがとうございました!