我是git的新用户,无法弄清楚如何解决这个问题.我有一些SVN的经验,并且正在接受SVN的行为.
每次我从远程存储库中提取文件,并且我修改过的文件也会远程修改,它需要合并.我可以理解复杂变化的合并冲突,但我发现合并冲突非常小(例如,不同函数中的一行变化)变化.据我所知,SVN可以自动合并大部分内容,并且只有在自动合并失败时才会将文件置于冲突状态.
对于git,它似乎每次都在发生并且强制打开git merge工具.有没有办法自动合并文件?我是否遗漏了一些基本上将存储库置于冲突集中的设置?
造成这种情况的常见原因是不同的线路结尾.您是否正在与使用其他操作系统的其他人共享回购?SVN对行结尾做了一些修改.另一方面,Git默认情况下按字节顺序存储文件.这意味着当Windows用户使用\ r \n行结尾保存文件并且Linux用户使用\n换行符保存文件时,每行显示都会更改,如果正在进行任何其他更改,则会导致各处发生冲突.要更改处理行结尾的方式,请使用配置设置"core.autocrlf".在不同操作系统正在运行的仓库中,我建议将其设置为Linux用户的"输入"和Windows用户的"true":
git config [--global] core.autocrlf input
Run Code Online (Sandbox Code Playgroud)
要么
git config [--global] core.autocrlf true
Run Code Online (Sandbox Code Playgroud)
实际上,我会说只是全局使用这些设置.他们会为你节省一些心痛.在git-config手册页上阅读有关core.autocrlf的更多信息,并注意如果您遇到此问题并且使用现有存储库打开autocrlf,您可能会看到一些令人吃惊的行为,但可以解释.
| 归档时间: |
|
| 查看次数: |
1176 次 |
| 最近记录: |