「Git/rebase」の版間の差分
提供: 初心者エンジニアの簡易メモ
(→git statusでpickやらでるとき) |
(→rebaseとmerge) |
||
(同じ利用者による、間の14版が非表示) | |||
行7: | 行7: | ||
masterを元にして、developをrebaseして取り込んだ時 | masterを元にして、developをrebaseして取り込んだ時 | ||
古い順に、a,b,1,2となる。 | 古い順に、a,b,1,2となる。 | ||
+ | |||
+ | |||
+ | rebaseしたときは、mergeしたときに出る"Merge pull request #3 from master"などがない。 | ||
==参考== | ==参考== | ||
行14: | 行17: | ||
一旦もとに戻したい時、 | 一旦もとに戻したい時、 | ||
rm -fr ".git/rebase-merge" | rm -fr ".git/rebase-merge" | ||
+ | |||
+ | ==hint: Pulling without specifying how to reconcile divergent branches isが出る場合== | ||
+ | Git 2.27.0 より出るようになってる。 | ||
+ | |||
+ | 分岐ブランチの対応方法をとして、以下rebaseを使う使わないを、選択すれば、解決する | ||
+ | |||
+ | ==config pull.rebaseについて== | ||
+ | 使わない場合 | ||
+ | $ git config pull.rebase false | ||
+ | 使う場合 | ||
+ | $ git config pull.rebase true | ||
+ | |||
+ | 参考:https://blog.agile.esm.co.jp/entry/git-warns-pulling-without-specifying-how-to-reconcile-divergent-branches | ||
+ | |||
+ | 現在の設定確認 | ||
+ | $ cat .git/config | ||
+ | [pull] | ||
+ | rebase = true | ||
+ | |||
+ | falseを選択したときだけ、個別のリビジョンが登録されるかと思ったが、 | ||
+ | falseを選択しても、trueにしても個別のリビジョンも登録され、マージリビジョンも登録される。 | ||
+ | |||
+ | ===config pull.rebaseのgit全体設定=== | ||
+ | git config --global pull.rebase ture | ||
+ | |||
+ | ==pull&mergeしたときにでるortとは== | ||
+ | cherry-pickで同じリビジョンをもっていて、それをmergeしたときに出る以下メッセージ | ||
+ | Merge made by the 'ort' strategy. | ||
+ | リビジョンを持ってるので、そのままで問題ない。 |
2022年11月23日 (水) 20:36時点における最新版
目次
rebaseとmerge
masterで、1,2、でcommitした後、developで、a,bでcommitした時
masterを元にして、developをmergeして取り込んだ時 古い順に、1,2,a,bとなる。
masterを元にして、developをrebaseして取り込んだ時 古い順に、a,b,1,2となる。
rebaseしたときは、mergeしたときに出る"Merge pull request #3 from master"などがない。
参考
https://qiita.com/KTakata/items/d33185fc0457c08654a5
git statusでpickやらでるとき
一旦もとに戻したい時、
rm -fr ".git/rebase-merge"
hint: Pulling without specifying how to reconcile divergent branches isが出る場合
Git 2.27.0 より出るようになってる。
分岐ブランチの対応方法をとして、以下rebaseを使う使わないを、選択すれば、解決する
config pull.rebaseについて
使わない場合
$ git config pull.rebase false
使う場合
$ git config pull.rebase true
現在の設定確認
$ cat .git/config [pull] rebase = true
falseを選択したときだけ、個別のリビジョンが登録されるかと思ったが、 falseを選択しても、trueにしても個別のリビジョンも登録され、マージリビジョンも登録される。
config pull.rebaseのgit全体設定
git config --global pull.rebase ture
pull&mergeしたときにでるortとは
cherry-pickで同じリビジョンをもっていて、それをmergeしたときに出る以下メッセージ
Merge made by the 'ort' strategy.
リビジョンを持ってるので、そのままで問題ない。