Gitのコマンド【Git備忘録3】〜初心者向け〜
こんにちは、ナベです。
最近、Git(ギット)を勉強しました。
備忘録として、今回はザックリとGitのコマンドをまとめてみました。
目次
- 1 git clone
- 2 git init
- 3 git add
- 4 git commit
- 5 git push
- 6 git status
- 7 git log
- 8 git reflog
- 9 git pull
- 10 git merge
- 11 git branch
- 12 git checkout
- 13 git reset
- 14 git stash
- 15 git rebase
- 16 git fetch
- 17 git revert
- 18 git rm
- 19 git blame
- 20 git tag
- 21 git show
- 22 git –version
- 23 git config
- 24 git cherry-pick
- 25 git diff
- 26 git grep
- 27 git bisect
- 28 スカッシュ(squash)
- 29 フォーク
git clone
git clone HTTPS|SSH
- (他からフォークしたりした)リモートリポジトリ を、自分のローカルリポジトリにコピーする。
git init
git init
- ローカルディレクトリの初期化。
- 「.git」という隠しファイルが加えられる。
- ローカルリポジトリまでが設定・準備される。
※リモートリポジトリからクローンしたファイルには、もう「.git」ファイルはあるので、git initコマンドは必要ない。
git add
git add ファイル名
git add .
- ローカルファイルをステージングする。
- 「git add . 」なら、ディレクトリ内の全てのファイルをステージング。
git commit
git commit -m "コメント"
- ファイルをローカルリポジトリにコミットする。
- いわゆる、「いつでも戻れるセーブデータをつける」といった感じ。
git push
git push -u origin master
- ローカルリポジトリのデータを、リモートリポジトリ へ送る。(上記の例だと)
- 上記は、origin(リモートリポのデフォ名)に、masterブランチを、pushしている。
- 「-u」オプションは、同名の上流ブランチを設定する。
git remote
git remote add origin HTTPS|SSH
- リモートリポジトリの関連づけ。(プッシュする前に)
git status
git status
- ファイルがステージングされたかの確認。
git log
git log
- 過去コミットの履歴を確認。
git reflog
git reflog
- コミット履歴が表示される。コミットID(ハッシュ値)が確認できる。
git pull
git pull origin master
- リモートリポジトリ の内容を、ローカルリポジトリに更新する。
- git 「fetch + merge」 origin/master みたいなもの。
git merge
git merge ブランチ名
- 今いるブランチに、「ブランチ名」に記述したブランチを合流させる。
git branch
git branch
- ブランチの一覧を見る
git branch -m 現ブランチ名 変えたいブランチ名
- 今いるブランチの名前を変更する
git branch -D ブランチ名
- 「ブランチ名」に記述したブランチを削除する(今いるブランチでは無効)
git checkout
git checkout ブランチ名
- 「ブランチ名」に記述したブランチに変える。
git checkout -b ブランチ名
- 「ブランチ名」に記述したブランチを作成し、そのブランチに移動する。
git checkout ファイル名
- 記述したファイルを、今いるブランチの最新コミットの状態に戻す。
git checkout コミットID
- 指定したコミットIDの状態に戻す
過去のコミットに戻す
git checkout HEAD^
- ひとつ前のコミットの状態に戻す。
- 「^」の数で、いくつ前の状態の戻るか指定できる。「^^^^^」なら5つ前。
- 「HEAD」を「@」にしても同じ。
- 「HEAD^^^^^」は、「HEAD~5」と同じ。
git reset
git reset ファイル名
- ステージング(インデックス)したファイルを戻す。(「git add」の取り消し)
git reset --hard HEAD
- 最終コミットしたときの状態まで戻して、編集中のデータを消す。
git reset --hard HEAD^
- 直前のコミットを取り消す。
git reset ORIG_HEAD --hard
- 直前のリセットを取り消す。
git stash
git stash
- 作業中の状態を、コミットせずに一時的に保留・退避させる。
git stash list
- スタッシュは何度も行えるので、そのスタッシュした一覧を表示する。
git stash pop
- スタッシュしていた内容を(削除した上で)、今いるブランチに復活させる。
- 「drop + apply」みたいなもの。
- 「git stash pop @{数字}」で、いくつかスタッシュしているものの中から選択できる。
git stash drop
- スタッシュしていた内容を削除する。
- 「git stash drop @{数字}」で、いくつかスタッシュしているものの中から選択できる。
git stash apply
- スタッシュしていた内容を、今いるブランチに復活させる。
- 「git stash apply @{数字}」で、いくつかスタッシュしているものの中から選択できる。
git rebase
git rebase master
今いるブランチ(分岐先)を、マスターブランチ(分岐元)に、今までのコミット込みで統合させる。
git fetch
git fetch origin
- リモートリポジトリ(origin)のデータを取得する。(コミットはしない。)
git revert
git revert コミットID
- 指定したコミットを元に戻す。(打ち消したいコミットを打ち消すコミットを作成する。)
git rm
git rm ファイル名
- 指定したファイルを、Gitの管理対象から外す。
- ステージングエリア(インデックス)やワーキングエリアからファイルを削除。
git mv ファイル名 変えたいファイル名
- ファイル名を変える。(リネームする)
git mv ファイル名 移動先のディレクトリ名
- 指定したディレクトリに、ファイルを移動する。
git blame
git blame -L 5,9 ファイル名
- 指定したファイルの、特定の行の変更履歴(いつ・誰が)を調べられる。
- 上記の例だと、ファイルの5~9行目を指定している。
git tag
git tag タグ名 コミットID
- 指定したコミットへ、タグをつける。
git tag タグ名 コミットID -a -m "注釈コメント"
- 指定したコミットへ、注釈(コメント)付きのタグをつける。
- 「-a」オプションで、注釈付きタグを作成している。
git tag -d タグ名
- タグを削除する。
git show
git show 〇〇
ファイルの内容や、コミットの差分、タグといったものの情報を表示する。
git –version
git --version
- Gitのバージョンを確認する。
Gitのバージョンを更新したいとき
ここで紹介するのはbrewがインストールされていることが前提。
brew update
brew install git
上記2つのコマンドを実行してEnterキー。
その後、念のため再度バージョンを確認。
git config
git config --global user.name "名"
git config --global user.email "名"
- Git をインストールしたときにおこなう、個人の識別情報の設定。
git config --local 〇〇
- 特定のプロジェクトに、別途違うアカウント情報を設定する(サブアカウント作成のようなもの)。
git cherry-pick
git cherry-pick コミット1 コミット2 -n
- 指定した特定のコミットのみを適用する。
- 上記の例だと、ハッシュ値で指定されたコミット1とコミット2を、自動でコミットさせないで適用している。
- 「-n」のオプションは、「–no-commit」のこと。
git diff
git diff 〇〇
- データの変更差分をみれる。
- 様々なデータを比較できる。つまり、できることが多い。
git grep
git grep
- リポジトリ内を検索する。
- オプションによって、様々な検索ができる。
git bisect
git bisect start スタートポイント ゴールポイント(過去コミット)
git bisect good|bad
- 二分検索のよって、問題となっているところを特定する。
- テストした結果が問題なければ「git bisect good」。問題があれば「git bisect bad」を実行していって特定していく。
スカッシュ(squash)
いくつかのコミットを1つにまとめる。
フォーク
(GitHubで)他の人のリモートリポジトリ を、自分のリモートリポジトリにコピーする。