繁体   English   中英

在Git中提交之前解决冲突

[英]Solve conflicts before commit in Git

我是从SVN来到Git。 在SVN中,当两个开发人员同时更改同一个文件(来自同一个文件版本)时,最后一个提交者将在提交更改之前获得要解决的冲突标志。 在Git中,常见的方法是最后一个提交者/推送器将解决冲突并生成第3个提交,然后推送原始和合并提交。

是否可以在进行本地提交之前合并服务器更改,然后以SVN样式进行单个提交(无冲突)? 为了简化,假设两个开发人员都使用master的本地副本而不是其他分支。

我知道这是一个重复的话题,但大多数都不明白。

如果你git pull --rebase ,那么你可以解决冲突并只使用新的更改进行一次提交。 您不会同时拥有原始提交和合并:只有更新的提交才能解决冲突并包含所有新代码。

对的,这是可能的。 第二个提交者可以提取更改并将其合并为原始提交的一部分,但这样做没有实际意义。 您可以重做进入git中任何提交的更改。 实际上,使用cherry pick,您可以根据您的选择合并和拆分提交。

Git Solve冲突:保存其他分支的文件:

$ git checkout --theirs /path/to/file_with_conflicts

保存当前分支的文件:

$ git checkout --ours /path/to/file

记住提交更改

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM