はじめに
Git利用時に忘れがちなコマンドの備忘録です。
様々なサイトに書いてあるコマンドをかき集めてまとめてみました。
Step1: 設定
git config --global user.name “Natalie Portman”
=>名前を設定
git config --global user.email natalie@portman.com
=> emailを設定
git config user.name
=>名前を確認
git config user.email
=> emailを確認
Step2: Gitの大まかな流れ
1. working tree(ワーキング・ツリー)
2. index(インデックス)=>stage
3. local repository(ローカル・リポジトリ)=>HEAD
4. remote repository(リモート・リポジトリ)
git add => ワーキング・ツリーの変更をインデックスへ反映させる(1から2へ)
git commit => インデックスでの変更をローカル・リポジトリへ反映させる(2から3へ)
git push => ローカル・リポジトリの変更をリモート・リポジトリに反映させる(3から4へ)
Step3: addからpushまで
git init
=> Gitのリポジトリを新規作成
git staus
=> 現在のコミット状況や変更ファイルの一覧などを確認
git add file_name
=>file_nameという名前のファイルをステージングする
git commit
=>インデックスでの変更をローカル・リポジトリへ反映させる
git commit -m “commit_message”
=>コミットに短いメッセージをつけることができるオプション -m とメッセージの本文をつけてコミット
git commit --amend
=> 直前のコミットを修正
git commit --amend -m “edited_message”
=> 直前のコミットのメッセージを修正
git push origin(remote_name) branch_name
=> リモートリポジトリにローカルリポジトリの内容を反映させる
git log
=> コミットの情報と履歴を一覧で確認。
git log --oneline --graph --decorate
=>今までのコミットやマージの記録を線で確認。
Step4: ブランチ操作をする
git branch
=>ローカルブランチの状態を確認。現在どのブランチで作業中なのか、切り替え可能なブランチはあるか、などなど
git branch -r
=>リモートブランチの状態を確認。
git branch -a
=>ローカルとリモートのブランチを両方確認
git branch branch_name
=>新たに’branch_name’という名前のブランチを作成
git checkout branch_name
=>現在作業中のブランチからbranch_nameという名前のブランチへ移動
git branch -b branch_name
=>branch_nameという名前のブランチを作成し、そのブランチへ移動
git merge branch_name
=>現在作業中のブランチにbranch_nameという名前のブランチをマージ
git merge --ff branch_name
=>
git merge --no-ff branch_name
=> マージコミットのインスタンスを生成しブランチの流れを分かりやすくする(マージ後でも元に戻せるようにする)
git branch -d branch_name
=> branch_nameという名前のブランチを削除
git reflog HEAD
=> 過去にHEADが差していたコミットの一覧を作成する
git branch branch_name HEAD@{number}
=> 削除したブランチを復活させる。
fast-forward => 下記の記事を参照してください。
https://qiita.com/shoichi0599/items/0bbaef4e224201f9c30f
https://backlog.com/ja/git-tutorial/stepup/stepup1_4.html
Step5: git resetを使いこなす
HEAD => 作業中のローカルブランチへのポインタ(今いるブランチの最新コミット)
HEAD^ => 直前のコミット
git resetのオプション
--soft => HEADのみをリセット
--mixed => HEADとindexをリセット
--hard. => HEADとindexとworking treeをリセット
git reset HEAD file_name
=> file_nameのステージングの取り消し(git addの取り消し)
git reset --hard HEAD^
=> HEADとindexとworking treeをリセットしコミット前の状態に戻す(git commitの取り消し)
git reset --soft HEAD^
=> コミットのみを取り消し、他はそのままにしておく(git commitの取り消し)
git reset --hard HEAD
=>マージを元に戻す(マージ後にコミットを行なっていない場合)
git reset --hard ORIG_HEAD
=>マージを元に戻す(マージ後にコミットを行なっている場合)
これにてひとまず終了。次回はrevertやstashなどについて書ければと思います。