【发布时间】:2018-07-16 09:57:13
【问题描述】:
我是git 的新手,这是我的情况:
我有两个分支:
-
master- 包含README.md、tests/all/*.py、package/*.py -
unit-testing- 包含tests/units/*.py、package/*.py
unit-testing 分支不包含README.md 和tests/all/*.py,master 确实包含。而且unit-testing的package/*.py的内容比较新。
我希望unit-testing 的package/*.py 的新内容覆盖master 的package/*.py 的旧内容。这可以由我来完成。但我也希望master 中的文件,例如 README.md,它们不在unit-testing 中,保持它们在master 中的状态。
但是当我尝试将merge unit-testing 转换为master 时,我看到不在unit-testing 中的文件会从master 中删除。我无法将master 合并到unit-testing,因为unit-testing 包含更新的内容。
更具体地说,我运行以下命令:
$ git checkout master
$ git merge unit-testing
Git 从master 中删除README.md 和tests/all/*.py。
【问题讨论】:
-
除非您在
unit-testing中添加了对tests/all/*.py的删除,否则不会发生这种情况。 -
我没有从
master中分叉出unit-testing。我创建了一个新分支unit-testing并复制了所需的文件。我是初学者,不知道分叉。 -
分叉?谁提到了分叉?我说的是
unit-testing分支。为什么要在新分支中复制文件?文件不是已经存在了吗? -
我后来在
master中创建了一些文件(在创建unit-testing分支之后)。对不起,我要提到叉子;我没有正确理解你。 -
你把我弄糊涂了......你能用你的提交的简化 git树更新你的问题吗?我想知道你做了什么。
标签: git version-control git-branch git-merge