最近遇到 SVN MERGE 的一个坑,问下如果使用 GIT 会不会有类似的问题?

2015-11-20 19:30:28 +08:00
 intsilence

复现这个坑的过程:
1. trunk 上有文件 a.txt ,使用 SVN COPY 创建分支。
2. trunk 上使用 SVN MOVE 把 a.txt 改名为 b.txt 。
3. 在分支上修改 a.txt 内容,并提交。
4. 把分支合并到 trunk ,此时 SVN 会提示 Skipped missing target: 'a.txt',如果此时进行提交,在分支上所有对 a.txt 的修改会丢失。

遇到这个坑之后,我稍微搜索了一下发现这是 SVN 的一个遗留问题,直到今天( 1.9 版本)都没解决。下面第二个链接中,说是考虑在 1.10 版本中修复这个问题。

http://stackoverflow.com/questions/187454/subversion-not-merging-changes-into-renamed-files
http://subversion.tigris.org/issues/show_bug.cgi?id=898

我对 git 不是很熟悉,所以请教下各位,如果使用 git 进行版本管理,遇到类似的问题 git 会如何处理呢?

1995 次点击
所在节点    问与答
2 条回复
justfly
2015-11-20 20:11:47 +08:00
会报冲突 解决冲突 提交即可
intsilence
2015-11-21 10:41:10 +08:00
@justfly git 能识别出来就好, SVN 直接丢弃代码真是太坑了。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/237692

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX