请考虑一个包含单个文件file.txt
的git repo。包含一个单词:“ something”(无引号)。然后,git add
和git commit
(哈希,假设为111a)是新文件。这是我的master
。标记:v1.0。
通过添加新行“ else”(无引号)来修改file.txt
。 git add
和git commit
(哈希111b)。标记:v1.1。
通过添加新行“我不”(无引号)来修改file.txt
。 git add
和git commit
(哈希111c)。标记v1.2。
创建分支git branch v1.1/v1.12 111b
。 git checkout v1.2/v1.21
。通过添加新行“ aaaa”(无引号)来修改file.txt
。 git add
和git commit
(哈希111cc)。
现在,根据this manual(第99-101页)和documentation,git checkout -m master
应该将master作为当前工作目录,并合并我在分支中所做的修改。它可以正确切换,但是不会发生合并。
很可能,我缺少明显的东西。我知道这个例子并不能完全复制我的工作环境,但我希望它足以解释这一点。
答案 0 :(得分:1)
仅当工作目录中有未提交的更改时,才考虑使用-m
开关。
如果工作目录中发生更改,则结果不是内容的自动合并,而是合并冲突。