在你开始使用 git 命令之前,我只使用 Windows 7-64bit 和 TortoiseGit(当前为 v1.7.11.3),因为我是 Git 新手。
我的 DEV 分支比当前的远程 master 旧,我更新了 DEV,并解决了冲突。
DEV 分支已将提交推送到远程 DEV 分支,因此这rebase
是不可能的——据我所知。
为什么会发生这种行为,我该如何避免?
Checkout master
(切换到本地主机)Pull origin master
(没有冲突)Checkout DEV
(切换到开发分支)Merge master
(将本地主更改应用到本地 DEV 分支)- 修复冲突和
commit
修改文件(自动合并和修复冲突文件)
当我打开log
然后我看到提交窗口中的“父 1”文件和未显示的“父 2”文件。这是奇怪的部分,现在添加了(本地/远程相同)master删除的文件,并删除了新文件。
此外,“父 2”文件没有产生任何冲突,尽管有些应该!
新/删除的文件与我预期的相反。这是为什么 ?
如果一个文件是 master 中的新文件并且我合并到 DEV 分支,那么我希望它在合并后存在。
我的猜测是 DEV 分支被认为是主要的,而不是我合并到 DEV 中的分支(主)。
我没有Revert
用于重新创建已删除文件的选项(那些实际上是 master 中的新文件)。