在Git中提交之前解决冲突

问题描述 投票:3回答:3

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

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

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

git
3个回答
5
投票

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


0
投票

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


0
投票

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

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

保存当前分支的文件:

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

Remember commit changes

© www.soinside.com 2019 - 2024. All rights reserved.