- 在ubuntu下使用$ git clone时出现server certificate verification failed. cafile:/etc/ssl/certs/ca-certificates.crt crlfile: none
解决方法:在执行$ git clone 之前,在终端输入:
export git_ssl_no_verify=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
- 在windows上,使用git bash here,编译vs2013工程时,中文显示乱码
解决方法:打开git bash here,鼠标点击右键--> options… --> text --> locale 选择zh_cn,characterset 选择gbk,点击apply,ok即可
- 在windows上写的代码移到linux上提交时,会提示dos line ending (crlf) found, use unix line ending (lf) instead
解决方法:
(1).下载dos2unix,执行
sudo apt-get install dos2unit
(2).对有问题的文件执行:
dos2unit ../xxx.cpp
- 有时将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