[英]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.