Git使用常见问题解决方法汇总

本文介绍了在使用Git过程中遇到的一些常见问题及其解决方法,包括证书验证失败、密钥交换方法不匹配、中文乱码、DOS换行符与Unix不一致及文件状态异常等问题,并提供了详细的解决步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 在Ubuntu下使用$ git clone时出现server certificate verification failed. CAfile:/etc/ssl/certs/ca-certificates.crt CRLfile: none

解决方法:在执行$ git clone 之前,在终端输入:

export GIT_SSL_NO_VERIFY=1

2. 在Windows上更新了git 2.6.3 64bit后,clone时出现,unable to negotiate with 10.0.0.8: no matching key exchange methodfound. Their offer: diffie-hellman-group1-sha1

解决方法:在执行git clone之前,在终端输入:

export GIT_SSH_COMMAND='ssh -o KexAlgorithms=+diffie-hellman-group1-sha1'

这种方法每次新开git窗口,都需要重新输入export GIT_SSH_COMMAND

网上有说是因为客户端和服务器端git版本不一致导致的,也有说如果知道服务器ip,可以在C:\Users\Spring\.ssh下新建一个config文件,添加内容如下,但是好像不起作用:

Host 10.0.0.8
	KexAlgorithms +diffie-hellman-group1-sha1

还有一种方法就是,打开.bashrc文件,在终端输入:$ vim ~/.bashrc  ,然后向.bashrc文件写入:保存并关闭。这样就不需要每次打开终端时都重新输入export GIT_SSH_COMMAND了。

export GIT_SSH_COMMAND='ssh -o KexAlgorithms=+diffie-hellman-group1-sha1'

还有一种方法就是在/etc/ssh/ssh_config文件的最后一行加入:

KexAlgorithms +diffie-hellman-group1-sha1

3. 在Windows上,使用git bash here,编译vs2013工程时,中文显示乱码

解决方法:打开git bash here,鼠标点击右键--> Options… --> Text --> Locale 选择zh_CN,Characterset 选择GBK,点击Apply,OK即可

4. 在Windows上写的代码移到Linux上提交时,会提示DOS line ending (CRLF) found, use Unix line ending (LF) instead

解决方法:

(1).下载dos2unix,执行

sudo apt-get install dos2unit

(2).对有问题的文件执行:

dos2unit ../xxx.cpp

5. 有时将GitHub中的项目clone到Windows时,执行"git status"时,有时会提示有些文件被改动,其实这些文件并未做任何改动,执行"git checkout -- ."也不起作用,导致当再次pull项目时,提示"error: Your local changes to the following files would be overwritten by merge",无法正常执行pull操作。

解决方法,假如当前的分支是master,依次执行如下两个命令,当执行完如下两条命令后,再次执行"git pull"就会提示"Already up-to-date.":

git fetch origin master
git reset --hard FETCH_HEAD

 

 

 

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值