git merge
git
書き方
git merge [--no-ff|--squash] <branch>別のブランチの作業を今のブランチに取り込みます。--squashは合流の記録を残さないので、そのブランチは後からも未マージ扱いのままです。
よく使うオプション
| オプション | 意味 |
|---|---|
| --no-ff | always record a merge commit, even when a fast-forward was possible |
| --ff-only | refuse unless it can fast-forward |
| --squash | stage the combined change without committing or recording a merge |
| --abort | undo a merge that stopped on conflicts |
| --continue | finish after you resolved the conflicts |
| -X ours|theirs | auto-resolve conflicting hunks one way |
| --no-commit | merge but leave the commit to you |
例
git merge --no-ff feature/loginkeeps the branch visible in history
git merge --abortgets you back to before the conflicted merge
git merge --squash feature/loginone flat change, staged; you still have to commit
取り消しに何通りもあるのが混乱のもとです — ブランチの指す先を動かすのと、打ち消すコミットを積むのは別です。
読み方
- 角括弧 [ ] は省いてよい部分です。
- 三点 … は複数並べられるという意味です。
- オプションは大文字小文字を区別します — -r と -R が別物のコマンドもあります。
よくある質問
Q. git merge は何をしますか。
別のブランチの作業を今のブランチに取り込みます。--squashは合流の記録を残さないので、そのブランチは後からも未マージ扱いのままです。
Q. どう打ちますか。
git merge [--no-ff|--squash] <branch> — 角括弧は省いてよい部分です。
Q. よく使うオプションはいくつですか。
ここにまとめたのは7個です。全部は man git にあります。このコマンドはgitの仲間です。
関連するコマンド
man ページ: man git-merge