我在UNC \foobar\Git\MKWF.gif上有一个远程存储库。
我有两个本地克隆,第一个用于正常开发,因此它实际上有两个跟踪分支,master和稳定。开发在master中完成,然后合并到稳定中。
稳定是所有其他分支都会脱落的分支。这是一个用于许多站点的基本web框架。
第二个克隆是站点X.com的特定克隆
因此X.com跟踪主分支、稳定分支和新分支X
通常,我在第一个库中处理一般内容,准备好后合并到稳定库中,然后进行git推送--所有这些都是为了将更改移动到服务器。
在X.com克隆中,我这样做:
git checkout stable
git pull --all 这将从服务器获取最新的更改,然后我可以这样做
git checkout X
git merge stable要将这些更新移动到X.com的特定分支中
然而,这已经停止了工作
我已经完成了拉取,我可以在windows资源管理器中看到这些文件。
git checkout X
git merge stable所有的文件都没有了,merge报告“它是最新的”
有人能解释一下这个问题吗?git分支-a列出了所有本地分支和远程分支。
git状态不报告任何内容。为什么我的文件不在那里。
发布于 2011-03-22 04:42:51
你可能不小心
本地changes
剩余的(可能为空的)提交仍将被标记为合并提交,这意味着它将有两个父级(X上的前一个提交和合并时的稳定提示)。
然后你会发现你实际上还没有合并新的文件(意思是:你没有正确地提交它们)。任何再次尝试合并的尝试都会欺骗git,因为它可以清楚地看到,上一个版本已经是稳定上的tiprevision的直接子版本。这意味着应该不会留下任何工作。
git为找到合并的起始点所做的是'git merge-base X稳定‘,所以你可以验证这一点。(您可能仍然可以通过查看仍在X1参考日志中的修订)。
下一次有疑问的时候,仔细阅读
git show-branch X stable目视检查情况或
git log X..stable和
git log --graph --cherry-pick --oneline --left-right --boundary X...stable以获取更详细的信息。
1例如:
git rev-list -g HEAD --parents
git rev-list -g HEAD --children查找错误的合并点
https://stackoverflow.com/questions/4176195
复制相似问题