Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/23.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树?_Git_Merge - Fatal编程技术网

是否可以根据日期合并两个GIT树?

是否可以根据日期合并两个GIT树?,git,merge,Git,Merge,假设我们有两个人在一个小组里。我们维护两棵GIT树A和B,我在A上工作,另一个人在B上工作 我在3月1日创建了文件a,在3月3日创建了文件c a-三月一日 三月三日 另一个人在3月2日在b中创建了文件b b-三月二日 是否可以合并两棵树,这样我就有了一棵新树,它看起来像: a-三月一日 b-三月二日 三月三日 当我签出3月2日的文件时,我会得到文件a和b 谢谢 使用交互式重基当然是可能的,但我会质疑这个用例:3月2日似乎没有包含a和b的存储库,那么说“3月2日签出文件”的语义是什么呢?我编写了一

假设我们有两个人在一个小组里。我们维护两棵GIT树A和B,我在A上工作,另一个人在B上工作

我在3月1日创建了文件a,在3月3日创建了文件c

a-三月一日
三月三日

另一个人在3月2日在b中创建了文件b

b-三月二日

是否可以合并两棵树,这样我就有了一棵新树,它看起来像:

a-三月一日
b-三月二日
三月三日

当我签出3月2日的文件时,我会得到文件a和b


谢谢

使用交互式重基当然是可能的,但我会质疑这个用例:3月2日似乎没有包含a和b的存储库,那么说“3月2日签出文件”的语义是什么呢?

我编写了一个脚本来逐个签入每个提交。这很愚蠢,但我想这是一个简单的方法,可能是我知道的唯一方法。

谢谢你的回复。用例是,当人们想要使用外部库时,他们可能想要集成它的代码。因为当他们签出代码时,他们可以签出提供相同API的外部库代码。是的,如果设计得当,API不应该经常更改。但假设这是我们想要解决的问题。如果像你说的那样,3月2日没有回购协议,我想有一种方法可以得到3月2日的a和b,或者使用合并或其他任何方法。@echo:正是在这种情况下,我会远离你所描述的。您将得到一个未经测试的提交组合,这种组合以前从未以这种方式出现在任何开发人员的系统中,并且可能不一致。做一个标准的git合并,检查开发人员测试并提交的版本;最容易使用这些奇怪的十六进制数字符串。将您的注意力从版本历史的线性模型移开,使用像GitX这样的图形工具查看存储库的历史,您会很高兴git不仅仅查看单个文件,还查看整个存储库。