因此,一个朋友处理了许多他从未版本化的代码,并将其交给了我。他最初给了我版本A,即使他有更新的版本B。我将A放入git存储库(例如Visual Studio Team Services)中,然后进行了一些提交,生成了版本C。现在他将版本B放入了git存储库(例如Bitbucket)中。如何比较版本C和版本B,以及合并(B,A)和(C,A)之间的所有差异,以获得一个既包含更新又包含我的最终版本D?请记住,尽管Bitbucket和TFS(分别为B和C版本)上的存储库都没有相同的git commit,但是它们都来自相同的基本版本A。
我可以看到执行此操作的几种方法,尽管不确定每种方法的缺点:1)将Bitbucket版本B作为上游添加到我的TFS版本C中,并获取上游/主版本,然后执行git diff。2)将文件从版本B复制到保存版本C的目录中,然后像我手动更改文件一样提交它们。3)完全其他的东西,例如变基。
我对git的理解非常基础,因此请像我5岁时一样进行解释(嗯,不是真的,但您知道我的意思)。
注意:可以在最终回购历史记录中的一次提交中对A到B进行所有更改,但是最好保留A和C之间的单个提交。
同样,从版本A到版本B,朋友没有维护目录结构,他已将所有内容移动到根目录的子目录中。因此,如果版本A具有文件a.txt,版本B具有文件TRUNK / a.txt。
只是:
查看 A
从A
(从“ Git版本控制和Team Foundation Build ”开始)创建一个新分支
复制B
进去
添加并提交:(
来自“使用Visual Studio和Git创建,连接和发布”)
合并该分支到您的主分支中 C
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句