工作中实用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
配置
日常开发中,在处理公司项目和个人开源项目,需要在公司身份和开源身份中切换,根据不同工作目录区分不同的配置(邮箱/密钥等)。
- 需要隔离工作目录创建
.gitconfig_work
文件
存放需要特殊配置的配置,例如用户名,不同密钥/oauth配置等。
1[user]
2 name = work name
3 email = [email protected]
- 修改全局配置,使步骤一配置生效
修改~/work/
~/.gitconfig_work
为你个人目录。
1[includeIf "gitdir:~/work/"]
2 path = ~/.gitconfig_work
- 在
~/work/
目录下的所有项目都会应用.gitconfig_work
中的配置
详细配置参考Git配置文档。
配置全局忽略文件
强迫症一些不必要的工程文件不想提交到git上,但是每个项目需要手动声明一下.gitignore
,可以配置全局忽略。
多人维护项目避免引起误提交,还是建议放到项目内.gitignore
- 创建
.gitignore_global
文件
1vim ~/.gitignore_global
- 写入想要忽略的文件
1# Global
2.gitignore
3.idea/
4.DS_Store
- 配置使用
.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