跨平台软件开发项目中 Git 常见问题及解决方法

        git作为一个主流的版本控制系统,在实际生产环境中会经常使用。跨平台开发的项目在使用git作为源代码管理工具时,可能在不同系统上使用出现一些问题,在此记录在真实跨平台项目中使用git遇到的一些问题和解决方法。

1.https地址克隆失败

fatal: unable to access 'https://192.168.1.111/xxxx.git/': server certificate verification failed. CAfile: none CRLfile: none

        上面提示意思服务器ssl证书验证失败,一般内网搭建的gitlab服务器会出现上面的问题,需要在使用git时关闭ssl验证。

对特定仓库关闭,先进入到仓库目录,再关闭该仓库的ssl校验

cd ~/example
git config http.sslVerify false

全局关闭git的ssl验证,一般使用这个方式解决

git config --global http.sslVerify false

2.每次git pull或git push都需要输入用户名密码

全局记住凭证

git config --global credential.helper store

取消全局记住凭证,一般在账号密码输入错误,但是没有弹出用户名和密码弹窗使用。

git config --global --unset credential.helper

3.git status会有大量修改的文件,git diff后都是old mode 100644和new mode 100755区别

        在做跨平台(windows和linux)开发时,在linux中可能会对代码目录进行chmod 777 -R .操作,从而导致所有文件属性发生变化,git status时就会出现大量变更的文件。

对特定仓库关闭

cd ~/example
git config --add core.filemode false

全局关闭

git config --global --add core.filemode false

        实测发现在Ubuntu24.04.1环境中使用全局关闭命令后,再克隆仓库代码,该仓库中的core.filemode仍然是true,实际使用时需要自己判断,应该使用全局关闭还是使用特定仓管关闭。 

4.换行符处理差异

        在 Windows 系统中,换行符通常是 “\r\n”(CRLF),而在 Linux 系统中是“\n”(LF),对与常规的源代码文件(*.h;*.c;*.cpp)其实没有什么区别,在git签出和提交中可能会自动转换,直接关闭git自动转换功能。

git config --global core.autocrlf false

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

binary0010

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值