14

我有一个 repo master,我使用 file1.txt 和 file2.txt

git checkout -b fix1

然后我更改 file1.txt

我做了一个

git commit -a

然后我做一个

git checkout master

然后我做一个

git checkout -b fix2

然后我更改 file2.txt

我做了一个

git commit -a

然后git checkout master 一个

git merge fix1
git marge fix2 

但如果我做一个

 commit -a 

我明白了

# 在分支master上
没有什么可提交的(工作目录干净)
4

3 回答 3

17

git merge自动提交。如果您不想提交,请添加--no-commit参数:

  --commit, --no-commit
      Perform the merge and commit the result. This option can be used to override --no-commit.

      With --no-commit perform the merge but pretend the merge failed and do not autocommit, to give the user
      a chance to inspect and further tweak the merge result before committing.
于 2013-02-12T15:34:13.510 回答
3

如果合并成功且没有冲突,git 将自动提交它(您应该可以通过简单地检查来验证git log)。

文档说明(强调添加):

...“git merge topic”将重播主题分支上所做的更改,因为它从 master(即 E)分歧,直到它在 master 之上的当前提交(C),并将结果与​​新提交一起记录两个父提交的名称和来自用户的描述更改的日志消息

如果您想避免这种情况,请使用以下--no-commit标志:

git merge --no-commit fix1
于 2013-02-12T15:33:53.937 回答
1

没有冲突的合并文件已经合并。您可以直接推送您的合并文件。

于 2013-02-12T15:34:19.063 回答