其实很多人使用git只是停留在会一些基本的操作,譬如add,commit,push,pull等,比如我。其实对于那些个机制不十分了解,所以在碰到问题的时候会显得有些忙乱。这里把我遇到过的一些坑写在下面,供以后参考。不定期更新。

2015-7-15 : git 代理设置

很多公司都有自己的内网环境,需要配置代理才能访问外网,实习时我也碰到了这个问题。使用git配置代理的方式如下:

1
git config --global http.proxy http://user:passwd@host:port
git config --global https.proxy https://user:passwd@host:port

2015-6-10 : Github 主机SSH访问问题

使用SSH访问github时,首先ssh-keygen生成一对秘钥,然后把公钥传到github上,把私钥放到~/.ssh目录下就可以了。

但是,随后我执行git push的时候发生了错误

1
Git error: "Host Key Verification Failed"

google了一下,好像是因为主机指纹不受信任?不太明白是怎么回事,在stackoverflow上找到了一行解决的代码

1
ssh-keyscan -t rsa github.com >> ~/.ssh/known_hosts

将github.com添加到信任主机中,(其实原作者用的是>这样岂不是把之前的信任主机都删了么…….),再执行git pull,可以了。

2015-5-15 : 更改origin仓库后的设置

之前因为需要更换远程仓库就执行git remote rm把origin删掉了重新添加,但添加完以后发现系统没法pull了,这时候需要设置一下master分支的ref。

1
2
3
git remote add -f origin login@git.sv.gnu.org:/srv/git/project.git
git config branch.master.remote origin
git config branch.master.merge refs/heads/master

接着执行git pull,就能正常工作了。