假设我有两个这样的分支:
o---o---o---o---o master
\
o---o---o feature
如果我运行以下命令:
$ git checkout master
$ git merge feature
会发生什么?
o---o---o---o---o master o---o---o---o---o master
\ / or this \ \
o---o---o---- feature o---o---o-------o feature
答案1
git merge branch_name
合并branch_name
到当前分支。对于你的情况,结果将是
o---o---o---o---o master
\ /
o---o---o---- feature
并且合并提交将被添加到master
。
答案2
前者,根据git-merge
手动的:
描述
将命名提交的更改(自从它们的历史记录与当前分支分叉以来)合并到当前分支中。
[...]
假设……当前分支是“
master
”……那么“git merge topic
”将重放主题分支自分叉以来所做的更改,直到master
其当前提交为止master
,并将结果连同两个父提交的名称以及来自用户的描述更改的日志消息一起记录在新的提交中。
或者,保留可爱的格式http://git-scm.com:
答案3
该feature
分支将合并到master
。您可以在临时 git repo 中快速测试。
> git init
> echo test > testfile
> cat testfile
test
> git add testfile
> git commit -m "First commit"
> git checkout -b feature
> echo test2 >> testfile
> cat testfile
test
test2
> git commit -am "Second commit"
> git checkout master
> cat testfile
test
> git merge feature
> cat testfile
test
test2