自分の手で未来を創るーlav0

自分のために、誰かのために、今ここにないもの、もっと良くしたいもの、何でも自分の手で創っていく。そして、作ったものを公開していきます

Git コマンドをまとめる

今回はGitのコマンドのまとめメモ。なんの気なく使いすぎていた。

f:id:kslabo51:20191215113212p:plain

 

 

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に丁寧にまとめていらっしゃる方がいました!!見やすい!

https://qiita.com/kohga/items/dccf135b0af395f69144