工作中实用git操作分享

常用Git配置

  • push代码自动设置upstream

git push 将推送当前分支到与之关联的同名远程分支。然而,有时候在新建分支时可能需要额外的配置。

1git config --global push.autoSetupRemote upstream
  • 存储凭证到文件

Git 会将你输入的用户名和密码明文地存储在磁盘上的一个文件中,以后的操作将直接从这个文件中读取凭据,而不需要再次输入用户名和密码。 有一定安全风险,比如用你电脑提交bug。

1git config --global credential.helper store
  • 不同仓库配置代理提交

需要区分网络环境提交代码

1git config http.proxy 'http://127.0.0.1:1080'
2git config https.proxy 'socks5://127.0.0.1:1080'
3# 取消设置
4git config --unset http.proxy https.proxy
  • ssh remote单独设置密钥
1git config core.sshCommand "ssh -i /path/to/your/private_key"
2# 指定 origin 设置
3git config remote.origin.sshCommand "ssh -i /path/to/your/private_key"

针对不同目录不同 Git 配置

日常开发中,在处理公司项目和个人开源项目,需要在公司身份和开源身份中切换,根据不同工作目录区分不同的配置(邮箱/密钥等)。

  1. 需要隔离工作目录创建.gitconfig_work文件

存放需要特殊配置的配置,例如用户名,不同密钥/oauth配置等。

1[user]
2    name = work name
3    email = [email protected]
  1. 修改全局配置,使步骤一配置生效

修改~/work/ ~/.gitconfig_work 为你个人目录。

1[includeIf "gitdir:~/work/"]
2    path = ~/.gitconfig_work
  1. ~/work/目录下的所有项目都会应用.gitconfig_work中的配置

详细配置参考Git配置文档

配置全局忽略文件

强迫症一些不必要的工程文件不想提交到git上,但是每个项目需要手动声明一下.gitignore,可以配置全局忽略。 多人维护项目避免引起误提交,还是建议放到项目内.gitignore

  1. 创建.gitignore_global文件
1vim ~/.gitignore_global
  1. 写入想要忽略的文件
1# Global 
2.gitignore
3.idea/
4.DS_Store
  1. 配置使用.gitignore_global文件
1git config --global core.excludesfile ~/.gitignore_global

全局配置github走代理

推荐配置socks5代理

1git config --global http.https://github.com.proxy socks5://127.0.0.1:7890

配置支持ssh

1vim ~/.ssh/config
2# 写入以下内容
3Host github.com
4    Hostname ssh.github.com
5    Port 443
6# 测试连接情况
7ssh -T [email protected]
comments powered by Disqus