こんにちは、フロントエンドエンジニアのまさにょんです。
今回は、Gitでよく使用するコマンド・CLIについてまとめて解説します。
目次
- 1 Gitの管理を始める・終わらせるコマンド
- 2 Gitの管理状況(add・commit履歴)を確認するGitコマンド
- 3 branch系のGitコマンド
- 4 add・commit系のGitコマンド
- 5 add前(ワークツリー)のファイルの変更を取り消すGitコマンド
- 6 addしたけどcommitしていない(ステージング)ファイルの変更を取り消す
- 7 作業をcommitせずに一時保存する(隠す)Gitコマンド
- 8 ファイルの変更内容や変更したファイルを確認するコマンド
- 9 チーム開発関連のGitコマンド
- 10 その他のGitコマンド・Git-CLI
- 11 Git・GitHub書籍
- 12 プログラミング学習・エンジニア転職関連の情報
- 13 Twitterやってます!Follow Me!
- 14 最近の投稿
Gitの管理を始める・終わらせるコマンド
git init
Gitコマンドでは、ありませんが、.git
ディレクトリをプロジェクトから削除すれば、Git管理状態を削除する(終わらせる)ことができます。
rm -r .git
Gitの管理状況(add・commit履歴)を確認するGitコマンド
git status
git log
branch系のGitコマンド
*
マークが付いているのが、今いるブランチです。
git branch
develop
feature/TP-1443
feature/TP-1443-1
feature/TP-1443-2
* feature/TP-1446
feature/TP-1447
feature/TP-1450
feature/TP-1450-1
feature/TP-1450-2
-r、もしくは、–remotesオプションを付与するとリモートブランチの一覧を表示することができます。
git branch -r
git branch -a
git branch <branchname>
git checkout <branchname>
git checkout -b <branchname>
-d、もしくは、–deleteオプションで、指定したローカルのブランチを削除することができます。
ただし、指定したブランチの内容が、追跡しているリモートブランチ(設定されていない場合はHEAD)にマージされていないと削除はできません。
git branch -d <branchname>
git branch -D <branchname>
-rオプションを付けた場合は、リモートブランチを削除することができます。
git branch -r -d <branchname>
ローカルのブランチ名は、次のようにして変更することができます。
git branch -m <old_branchname> <new_branchname>
リモートに反映するのは、次のようにPushをすればOKです。
git push origin -u <new_branchname>
add・commit系のGitコマンド
git add ファイル名・Path or ディレクトリ名・Path
# 複数addする場合は、スペース区切りでaddできる
git add readme1.md readme2.md
git add .
# または
git add -A
git reset ファイル名・Path or ディレクトリ名・Path
git add のすべてを取り消す(ステージングエリアをリセットする)には、次のコマンドを使用します。
このコマンドを実行すると、ステージングエリアの内容を削除し、ワークディレクトリに変更履歴が残った状態に戻ります。
git reset .
# または、
git reset
git commit -m "メッセージ"
git reset --soft HEAD^
コマンドを実行すると、直前のコミットを取り消すことができます。
この場合、取り消したコミットの変更内容はステージングエリアに残ります。
–soft オプションは、ワークディレクトリの内容はそのままで、コミットだけを取り消したい場合に使用します。
git reset --soft HEAD^
最初のコミットを git reset --soft HEAD^
で取り消そうとしてもエラーが発生します。
次のコマンドで、変更点がインデックスに登録された状態で元に戻ります。
git update-ref -d HEAD
add前(ワークツリー)のファイルの変更を取り消すGitコマンド
git checkout <filename>
git checkout <ディレクトリ名>
git checkout .
addしたけどcommitしていない(ステージング)ファイルの変更を取り消す
git reset HEAD <ファイル名>
作業をcommitせずに一時保存する(隠す)Gitコマンド
git stash
は作業をcommitせずに、一時保存する(隠す)ためのGitコマンドです。
ちなみに、stashとは、隠し場所という意味の英単語です。
git stash
# または
git stash push
git stash push filename
# 複数のファイルをstashする場合
git stash push file1 file2 file3
git stash -m "保存時メッセージ"
git stash list
git stash apply stash@{0}
git stash pop
git stash pop stash@{1}
git stash drop
git stash drop stash@{2}
git stash clear
ファイルの変更内容や変更したファイルを確認するコマンド
git diff
git diff ファイル名
git diff --name-only
git diff --cached --name-only
git diff --name-only <commit_id>
git diff <コミットID1> <コミットID2> --name-only
チーム開発関連のGitコマンド
# git push リモート接続名 リモートに作成するブランチ名(プルリクエス・ブランチ名)
git push origin feature/test
基本は、developにて、今まで作業していた作業ブランチを指定してmergeします。
git merge マージしたい作業ブランチ
その他のGitコマンド・Git-CLI
git config -l
git config --global user.name 'robotama'
git config --global user.email 'robotama1234@gmail.com'
git grep
は、Gitリポジトリ内のファイルでテキストを検索するためのコマンドです。
-i
オプションを使用すると、検索時に大文字小文字を区別しなくなります。
git grep -i robotama
Git・GitHub書籍
プログラミング学習・エンジニア転職関連の情報
自宅で現役エンジニアから学べる『TechAcademy』 (エンジニア転職保証)
『GEEK JOBキャンプ』スピード転職コース(無料)
【IT道場】入校時0円! 就職目的プログラミングスクール
エンジニア転職なら100%「自社開発」求人に強い【クラウドリンク】
『techgym』 (Python特化・無料)
Twitterやってます!Follow Me!
神聖グンマー帝国の逆襲🔥
神聖グンマー帝国の科学は、世界一ぃぃぃぃぃぃ!!!!!