知乎专栏 |
Neo-iMac:workspace neo$ git config --list credential.helper=osxkeychain user.name=Neo Chen user.email=netkiller@msn.com user.signingkey=netkiller@msn.com gpg.program=gpg commit.gpgsign=true
$ git config --global --replace-all user.email "输入你的邮箱" $ git config --global --replace-all user.name "输入你的用户名"
git 默认使用 id_rsa,指定私钥方法是:
git config core.sshCommand "ssh -i ~/.ssh/id_rsa_example -F /dev/null" git pull git push
GIT_SSH_COMMAND="ssh -i ~/.ssh/id_rsa_example -F /dev/null" git clone git@github.com:netkiller/netkiller.github.io.git
error: RPC failed; result=22, HTTP code = 413 | 18.24 MiB/s fatal: The remote end hung up unexpectedly
git config http.postBuffer 524288000
使用自颁发 ssl 证书时需要开启,否则无法 clone 和 push
export GIT_SSL_NO_VERIFY=true
git config http.sslVerify "false"
从一个分支向另一个分支合并,有时我们不想覆盖某个文件。
neo@MacBook-Pro-M2 ~/netkiller (dev)> git config merge.ours.driver true
创建 .gitattributes 文件
neo@MacBook-Pro-M2 ~/netkiller (office)> cat .gitattributes src/main/resources/bootstrap.yml merge=ours
全局配置
git config --global merge.ours.driver true
Example: $ echo '*.txt ident' >> .gitattributes $ echo '$Id$' > test.txt $ git commit -a -m "test" $ rm test.txt $ git checkout -- test.txt $ cat test.txt
配置模版之后,克隆项目会自动创建模版下的目录和文件
mkdir -p ~/workspace/template/hooks
配置模版目录
git config --global init.templatedir ~/workspace/template/
创建文件
curl -s https://gitlab.ejiayou.com/chenjingfeng/zentao/-/raw/master/commit-msg -o ~/workspace/hooks/commit-msg chmod +x ~/workspace/hooks/commit-msg
现在执行 git clone 之后你会发现 .git/hooks 目录会产生一个 commit-msg 文件