Ccmmutty logo
Commutty IT
2 min read

git my cheatsheet

https://cdn.magicode.io/media/notebox/0e6b6058-446d-45c3-ab0c-6935a2c15cd1.jpeg

ブランチとマージ

前提
  • リモートとローカルのレポジトリを使う。ローカルで作業して、リモートで共有。
  • 作業はブランチを切って行う。必要に応じてマージする。
  • リモートとローカルのブランチ名は揃える
originのなぞ originはデフォルトのリモートレポジトリということ。なんとなくcloneした場合はそのclone元。
git push origin ブランチ名A
は現在作業中のブランチの内容を、clone元のブランチ名Aにプッシュすると言うこと。
git pull origin master
は現在作業中のブランチに、clone元のmasterの内容をプルすると言うこと
  • 表示
git branch
  • ローカルにブランチを作成する
git checkout -b branchA
  • 作成済みのブランチに移動
git checkout branchA
  • ブランチ中で"git push"などするとエラーになる。引数で明示するか、デフォルトを設定する。
git push origin branchA
git branch --set-upstream-to=origin/branchA branchA
ローカルとリモートのブランチ名を変えることもできる。
  • リモートで更新されたファイルをローカルで更新してpullするとファイルが壊れる。修正後addするとcommitできるようになる。
git add .
git commit -m "Commit code"
git commit -i ファイル名 でもできた。なぜaddかは謎。
  • ブランチ名を指定してclone
git clone -b branch repository
  • branchのマージはマージ先のbranchに移動して、マージ元のbrachを引数で指定する
git checkout main
git merge branch_merge
競合したら修正して、addすればcommitできるようなる。ファイルの競合時と同じ。優先するbranchがある場合は
  • git checkout --ours "ファイル名" で現在のブランチのファイルを
  • git checkout --theirs "ファイル名" でマージ先のブランチのファイルを 再現できます。
コミット履歴を汚さないとかはわかりません...

Discussion

コメントにはログインが必要です。