LoginSignup
3
0

1.はじめに

本記事は実務を行う上でGit初心者だった自分が忘れたときに思考の整理やcommandを見返すメモ帳のようなものです。

2.[master]ブランチと[origin/master]の違い

⭕️ [master]ブランチ

→(特に設定いじらなければ)ローカルブランチの中心。他のローカルブランチの枝は最終的に
[master]ブランチに導かれる

⭕️[origin/master]ブランチ

→ローカルにある[master]とリモート(一般的にGithubサイト)と繋がっているのが
[origin/master]ブランチ。リモートの情報に紐づいている。

→個人だけでgit管理する場合、リモートと[origin/master]は同じだと考えてよいと思う。

→逆に複数人で管理する場合はいつ時点のリモートファイルと同期された[origin/master]か
確認しないとわからないので、別物と考えた方がよい

→基本ローカルの[master]ブランチでcommitし変更を保存後、リモート環境に変更内容を保存するため、
pushし、[origin/master]ブランチに反映させる。

→個人で使ってある程度git管理ができるようになってから、この記事をみるとorigin/masterが
なぜ存在するのか、どういった時に効力を発揮するのかわかりやすく書いてある

参考記事

・【ざっくり分かるGit】originとorigin/masterとmasterの違い
https://qiita.com/kikuchiTakuya/items/196e59f7a4e3d2a75e20

3.各gitコマンドでよく使うオプション等まとめ

git addのtips

⭕️更新したファイルのgit addをする際、
commit前にちゃんと想定通りに更新ができたか確認したい場合

git add -p .

git branchのtips関連

⭕️ローカルブランチ名を変更する

git branch -m [古いブランチ名] [新しいブランチ名]
※なお、今いるローカルブランチ名を変えたいのならgit branch -m [新しいブランチ名]だけでOK

⭕️自分のいるブランチを確認
+ローカルブランチと[origin/hogehoge](いわゆるリモート追跡ブランチ)の一覧を表示させる

git branch -a
※自分の場合はgbでalias登録してます

git chekoutのtips関連

⭕️リモート追跡ブランチと同じ名前でローカルブランチを作成し、最新情報を引っ張ってくる + 当該ローカルブランチにcheckout

git checkout -t origin/[ブランチ名]

⭕️今いるローカルブランチをコピペする+コピペした当該ローカルブランチにcheckoutする

git checkout -b [好きなブランチ名]

git cherry-pickのtips関連

⭕️他ブランチの特定のコミットだけを今のローカルブランチに取り込みたい場合

git cherry-pick [欲しいコミットのID]

git commitのtips関連

⭕git add .した後で、コメントも1行で済ましたい場合

git commit -m "コメント"

⭕ファイルの更新をするのみでコメントも1行で済ましたい場合(新規ファイルがない場合)

git commit -am "コメント"

git diffのtips関連

⭕️色付きでgit 差分を見る

git diff --color-words [最新のcommit ID] [一個前のcommit ID]

⭕️色付きで最新のコミットの内容の内容をdiffで見せてくれる(よく使っている)

git diff HEAD^ --color-words

⭕️変更があったファイル名とそのステータスをみせてくれる

git diff HEAD^ --name-only

⭕️変更があったファイル名と変更量がざっくりとわかる

git diff HEAD^ --stat

git fetchのtips関連

⭕️すでにmerge等されていて削除されたリモート追跡ブランチを自動的に判別して削除してくれる

git fetch --prune

【git fetch/ git merge/ git pull関連】

⭕️リモートにあるファイルからリモートと繋がっている
[origin/master](いわゆるリモート追跡ブランチ)にデータを引っ張ってくる

git fetch origin master
※git remote -vでpullとfetch対象のリモートレポジトリを確認できる

⭕️[origin/master]の内容とローカルにある[master]ブランチとの差分を確認する
(個人開発の場合は基本不要)

git diff origin/master

⭕️[origin/master](いわゆるリモート追跡ブランチ)からローカルにある[master]ブランチに取り込む

git merge origin/master

⭕️いったん追跡ブランチで確認とかいらないから一気にローカルの[master]ブランチに取り込みたい場合

git pull origin master

⭕️他のブランチもあってとにかくローカルにリモートブランチの情報を一気に取り込みたい
(個人ならいいがよくわかってない状態でこれをやるのはリスキー)

git pull

git logのtips関連

⭕️commit logの直近10個分までonelineで表示する

git log --oneline -n 10

⭕️指定したファイルにかかる変更だけ表示してくれる

git log --color-words -p [ファイル名]

⭕️編集者単位で

git log --authors='hogehoge'

⭕️マージコミットを覗く

git log --no-merges

git mergeのtips関連

⭕️merge済みのローカルブランチを削除したい場合

git merge -d [ブランチ名]
※mergeしてる、してないに関わらずローカルブランチを削除したい場合は -Dを-dの代わりにつける

git pullのtips関連

⭕️現在いるブランチにかかるリモートブランチの情報だけローカルブランチに持ってきたい 且つ 逐一ブランチ名指定するのが面倒な場合

git pull origin $(git rev-parse --abbrev-ref HEAD)
→.bashrc等のaliasかgit config --global aliasとかに入れると便利。自分はgitと打つのもめんどいのでgpで上記のコマンドで打てるようにしている

※$(git rev-parse --abbrev-ref HEAD) の解説
git rev-parse はgitが内部で管理しているパラーメータ情報を取得するためのコマンド
例  git rev-parse master
   7e4657bb5187ce2958e627fc9611f4473eb5dfxx
--abbrev-ref HEADは現在いるブランチ名を取得できる。
つまり現在いるブランチ名を表す内部パラメーターをprev-parseで表示できる

⭕️特定のリモートブランチから特定のローカルブランチ単体にだけgit pullする

git pull origin [指定リモートブランチ]:[指定ローカルブランチ]

git pushのtips関連

⭕対象ブランチを[origin/hogehoge](いわゆるリモート追跡ブランチ)にpushしたいが
正しいリモート追跡ブランチ宛にpushできているかdry runする

git branch -a
→現在いるローカルブランチおよびpushしたいリモート追跡ブランチ名を確認

git push origin [指定したブランチ] -n
→dry-run。正しくpushできていそうか確認。-nの代わりに--dry-runでもOK

git push origin [指定したブランチ]
→本番push実施

git status
→現在の状態を確認。
「your branch is up to date with 'origin/[指定したブランチ]'」と出ればOK

git stashのtips関連

⭕️ローカルブランチで編集中のファイルがあって、
addやcommitしたくないがbranchを切り替えなきゃいけない場合

git stash -u
→untracked fileも含めて編集中ファイルを退避できる

⭕️一時退避したファイルをもとに戻したい場合

 git stash list
 →一時退避中のファイルを戻すために使うstash@[数字]を取得

 git stash apply stash@[数字]
 →一時退避したファイルを通常通りの状態にする(=git stash -uする前の状態にする)
3
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
0