Magicode logo
Magicode
0
2 min read

git my cheatsheet

ブランチとマージ

前提

  • リモートとローカルのレポジトリを使う。ローカルで作業して、リモートで共有。
  • 作業はブランチを切って行う。必要に応じてマージする。
  • リモートとローカルのブランチ名は揃える

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

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