菜鸟笔记
提升您的技术认知

git使用常见问题解决方法汇总-ag真人游戏

  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
  1. 在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
  1. 在windows上,使用git bash here,编译vs2013工程时,中文显示乱码

解决方法:打开git bash here,鼠标点击右键--> options… --> text --> locale 选择zh_cn,characterset 选择gbk,点击apply,ok即可

  1. 在windows上写的代码移到linux上提交时,会提示dos line ending (crlf) found, use unix line ending (lf) instead

解决方法:

(1).下载dos2unix,执行

sudo apt-get install dos2unit

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

dos2unit ../xxx.cpp
  1. 有时将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
网站地图