Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
git svn——为什么其他分支';主服务器上的提交与主干提交混合?_Git_Version Control_Commit_Git Svn_Git Log - Fatal编程技术网

git svn——为什么其他分支';主服务器上的提交与主干提交混合?

git svn——为什么其他分支';主服务器上的提交与主干提交混合?,git,version-control,commit,git-svn,git-log,Git,Version Control,Commit,Git Svn,Git Log,我正在使用git跟踪svn存储库。合并于2014年1月9日完成(产生提交A),另一次合并于2014年2月12日完成(产生提交B)。当我git签出主机时;git log,我看到了合并的提交,但我也看到了,例如,2014-02-04(C)对分支(作为B的一部分合并)的提交 在主干上运行git log时,为什么会显示针对分支的提交? 我发现这一点的时候,我正试图将我的主机和分支倒带到一个特定的日期,以便再次执行mergeB,查看存在哪些冲突。我假设我可以git checkout master;git复

我正在使用git跟踪svn存储库。合并于2014年1月9日完成(产生提交
A
),另一次合并于2014年2月12日完成(产生提交
B
)。当我
git签出主机时;git log
,我看到了合并的提交,但我也看到了,例如,2014-02-04(
C
)对分支(作为
B
的一部分合并)的提交

在主干上运行
git log
时,为什么会显示针对分支的提交?

我发现这一点的时候,我正试图将我的主机和分支倒带到一个特定的日期,以便再次执行merge
B
,查看存在哪些冲突。我假设我可以
git checkout master;git复位——硬B^;git合并分支,但这不起作用,然后我在主干日志中看到来自分支的这些额外提交,感到困惑


如果您能在这个问题上提供任何帮助,我们将不胜感激

如果
C
是合并到
master
以生成
B
的分支的一部分,那么
master
上的
git日志将包括分支中的所有提交,包括
C
。这是预期的行为,并且对于理解作为
主控
一部分的所有单个提交是必要的。git log可能有一个标记来隐藏在不同分支中也出现的提交,但我找不到这样的机制。

--第一个父级
,它不跟踪仅通过将另一个分支合并到当前分支中才包含的提交。但这并不完美,因为git根本不知道在哪个分支上进行了提交。啊,谢谢!我没想到git svn这么聪明。很久以前,我注意到当我
gitsvnclone
ed时,
gitlog--oneline--graph
没有正确跟踪分支。“哦,好吧,”我说,“总比什么都没有强。”我没有意识到后来的
git svn rebase
等工具能够正确跟踪分支!谢谢你的回答!我原本以为你的意思是合并发生在事物的
git
端,当我意识到你的意思是合并发生在
svn
端后,我开始猜测我的答案。我找不到任何能给我一个明确答案的推荐信。似乎将
svn
合并转换为
git
合并必须非常聪明,因为它们是非常不同的概念。不过,我不知道还会发生什么。