我试图将dev分支合并为master.
git checkout master
git pull . dev
Run Code Online (Sandbox Code Playgroud)
一切似乎进展顺利,虽然有冲突我修复了这些并承诺.但是,当我检查这个新合并的工作树时,从dev中丢失了很多文件夹和文件.
git status // Shows conflicts & doesn't list some files/folders.
git commit -a
Created commit 55ffdd1: Merge branch 'dev' into master
git diff dev --name-status
Run Code Online (Sandbox Code Playgroud)
生产:
D folders/lm.gif
D folders/lmh.gif
...
Run Code Online (Sandbox Code Playgroud)
所以没有出现在'git status'上的文件/文件夹.当我修复合并的冲突时,它也没有出现在最后.
此外,当我再次尝试合并时,它说:
git merge dev
Already up-to-date.
Run Code Online (Sandbox Code Playgroud)
然而,master分支显然缺少dev分支中的文件/文件夹.这是为什么?不应该添加该文件夹及其所有内容吗?在dev分支上正在跟踪'文件夹',所以当我进行合并时它不应该被拉过来吗?
当先前有合并冲突时,git会停止合并过程并跳过一堆文件/文件夹吗?
开发分支有很多变化,过去我可能用git搞砸了某些东西,现在某些文件/文件夹不会合并吗?
(当我第一次创建开发分支时,我不知道我在做什么,并做了重置,恢复等疯狂的事情)
希望你们中的一个git guru在这里堆栈溢出知道答案.:)
谢谢,Quang
谢谢沃尔特,是的,这就是发生的事.
在做了一些调查之后,我发现发生的事情有点复杂.结果表明.
希望这能帮助除了我以外的人,他们学到了很多关于如何使用git log,git show,git reflog试图调试发生的事情.
谢谢!
所以我这样做是为了将以前删除的dev中的所有内容合并到master上.
git diff dev --name-status | grep D …