Git コマンドをまとめる
今回はGitのコマンドのまとめメモ。なんの気なく使いすぎていた。
gitには3つの状態がエリアがあり、addやcommitで移っていく
①作業エリア(いろんな作業をする)
②ステージングエリア(インデックスするエリア)
③リポジトリエリア(ローカルリポ、リモートリポ)
ということで一覧表です。
git config -l |
gitの設定確認コマンド |
git config --global color.ui ture |
gitの便利な設定 |
git config --help |
ヘルプを見る |
git init |
最初にファイルディレクトリ上で初期化する |
git add ファイル名 / git add . |
作業ディレクトリ→ステージングエリアへ . を指定することでそのディレクトリの下にあるものを全て上げる |
git commit -m “メッセージ” |
ステージングエリア→リポジトリエリアへ上げる -m “メッセージ”を入れなければ編集画面に進むのでメッセージを入れて保存 |
git log --oneline |
ログを一行でざっと見れる |
git log -p |
変更箇所も見れる |
git log --stat |
どのファイルに何か所変更したかが見れる |
git status |
今の状態を教えてくれる(かなり丁寧に次にやることを教えてくれる) |
git checkout --ファイル名など |
ファイル名など ロールバックしてくれる |
git diff |
どこが変更されたのかの差分を教えてくれる(ステージングに上げる前) |
git diff --cached |
どこが変更されたのかの差分を教えてくれる(ステージングに上げた後) |
git rm ファイル名 |
削除 |
git m ファイル名 |
移動 |
vim .gitignore |
ステージングエリアに上げたくないとき、編集画面で *.logなどで上げないものを指定しておく |
git commit --amend |
ちょっとした間違いを修正する(ログを増やしたくないとき) 編集 > git add . > git commit --amend (直前のコミットを変更してくれる) |
git reset --hard HEAD |
過去のバージョンに戻る 現在の作業ディレクトリもステージングエリアも一気に戻したい場合。 HEADは直前のコミット(コミットIDを指定すれば一気にその時点に戻る) |
git reset --hard HEAD^ |
直前のもうひとつ前に戻る |
git reset --hard ORIG_HEAD |
やはりresetする前に戻りたいとき |
git branch hoge |
ブランチ(hoge)を作る |
git checkout hoge |
ブランチに移動 |
git checkout -b hogehoge |
branchを作りつつcheckoutまでしてくれる |
git merge hoge |
おおもとのファイル(master)に行ったあとmergeする。 ※mergeしなければ並行でできる |
git brach -d hoge |
merge後にブランチを削除する場合 |
マージの衝突 |
例)ブランチで作業編集後コミット。その後、マスターに戻りマスターで同じ個所を変更。そしてブランチをmerge使用とするとconflictが発生する conflictは解決しないと次のコミットができない 1)vimで編集画面に入り違う個所を削除して修正し保存 2)add と commit を行う |
git tag v1.0 |
タグ付け 主なコミットに別名をつけていくことができる |
git show v1.0 |
タグの中身を確認 |
git tag -d v1.0 |
タグの消去 |
短縮名の指定 例) git config --global alias.co checkout coがエイリアスの部分で次からcoを使えばcheckoutを表せる ※git config -l で作ったエイリアスを確認できる |
|
git init --bare |
共有リポジトリの初期化 |
git remote add origin ~/ourweb.git |
今日リポジトリへの登録 |
git remote rm |
リポジトリの場所を削除 |
git push origin master |
リポジトリにプッシュ |
git clone ~/ourweb.git/ myweb2 |
別の人が共有リポジトリから取り出し自分のファイルにクローンする cloneしたときにリモートの情報も引き継がれる 編集後、commitしてgit push origin masterでourweb.gitにプッシュ |
git pull origin master |
もう一人がその変更を確認する 片方が変更したことを知らず、変更してプッシュしようとするとプルしなさいという命令が帰ってくることがよくある ※この場合は一旦、git pull origin masterをしてあげる ※またconflictしている場合はそこを修正して再度add > commit |
と、ここまで書きましたが、やはりQiitaに丁寧にまとめていらっしゃる方がいました!!見やすい!