Git 技巧
不同域名使用不同秘钥
修改~/.ssh/config
1 | Host example.com |
git 多commit 支持
区分公司commit信息和个人commit信息
单独每次用git config 改很麻烦
可以用git Include 条件引入小技巧达到
比如公司git有强制commit信息要求
修改
~/.gitconfig
1 | [include] |
~/.gitconfig-default 保留默认commit配置
~/.gitconfig-corp workspaces 目录下面使用公司commit配置
1 | cat ~/.gitconfig-default |
给github单独设置代理
- http/https 代理 (自己有单独代理或公司代理)
比如我自己已经有了科学上网代理 本地监听1080 socks5 代理
修改~/.gitconfig1
2
3
4
5[github "com.http"]
proxy = socks5://127.0.0.1:1080
[github "com.https"]
proxy = socks5://127.0.0.1:1080
[
如果是http代理 换成
proxy = http://host:port 即可
命令行git神器 lazygit
使用 stash
如果您需要在切换分支之前保存未提交的更改,可以使用 git stash
命令。这将把未提交的更改保存在一个堆栈中,以便稍后恢复。
示例:
1 | # 保存未提交的更改 |
使用 rebase
使用 git rebase
命令可以将当前分支的更改应用到另一个分支上。这可以帮助您保持分支历史记录的整洁和有序。
示例:
1 | # 将当前分支的更改应用到另一个分支上 |
使用 amend
如果您需要修改最近一次提交的提交信息或者添加一些遗漏的文件,可以使用 git commit --amend
命令。
示例:
1 | # 修改最近一次提交的提交信息 |
使用 reflog
如果您不小心删除了一个分支或者提交,可以使用 git reflog
命令来查找并恢复它们。
示例:
1 | # 查找删除的分支 |
使用 tag
使用 git tag
命令可以给特定的提交打上标签,以便稍后更容易地找到。
示例:
1 | # 给特定的提交打上标签 |
使用 submodule
如果您需要将一个 Git 仓库作为另一个 Git 仓库的一部分使用,可以使用 git submodule
命令。
示例:
1 | # 添加一个子模块 |
使用 bisect
如果您需要找到导致代码出现问题的提交,可以使用 git bisect
命令。这将帮助您快速缩小问题所在的提交范围。
示例:
1 | # 开始二分查找 |
使用 cherry-pick
如果您需要将一个提交应用到一个不同的分支上,可以使用 git cherry-pick
命令。
示例:
1 | # 将一个提交应用到当前分支上 |
使用 gitignore
创建一个 .gitignore
文件,可以在提交时忽略特定的文件或目录,以保持代码库的整洁。
gitignore.io 是一个在线生成ignore模板网站
示例:
1 | # 忽略所有 .log 文件 |
neovim git plugins
- gitsigns
- show file git status (in nvim-tree)
- toggle line blame