准备新环境时,我总会在 git 中设置 10 多个项目

2025-05-26

准备新环境时,我总会在 git 中设置 10 多个项目

当你购买汽车或自行车时,你首先会调整座椅位置和鞍座高度以适合你的体型。git 配置也是如此。

在本文中,我将分享我一直使用的 git 设置。

用户名和邮件地址

git config --global user.name "<name>" && \
git config --global user.email "<email>"
Enter fullscreen mode Exit fullscreen mode
  • <name>用我的名字和<email>我的邮件地址替换。

现有命令的别名

git config --global alias.co checkout
git config --global alias.st status
git config --global alias.br branch
Enter fullscreen mode Exit fullscreen mode

全局忽略设置

git config --global core.excludesfile ~/.gitignore_global
Enter fullscreen mode Exit fullscreen mode
  • ~/.gitignore_global这允许您在每个项目之外添加您自己的特定忽略设置.gitignore,这些设置将应用于所有项目的所有 git 操作。

仅推送当前正在处理的分支

git config --global push.default simple
Enter fullscreen mode Exit fullscreen mode

使--rebasegit pull 期间的默认行为

git config --global pull.rebase true
Enter fullscreen mode Exit fullscreen mode
  • 如果拉取的分支已在本地修改,这可以防止无意中创建合并提交。

使--prunegit fetch 期间的默认行为

git config --global fetch.prune true
Enter fullscreen mode Exit fullscreen mode
  • 这将删除在执行git fetch时远程删除的本地分支。git pull

设置制表符的缩进宽度

git config --global core.pager 'less -x4'
Enter fullscreen mode Exit fullscreen mode
  • 在此示例中,pager(less命令)选项指定制表符缩进宽度为 4

用作nvim提交时使用的编辑器

git config --global core.editor 'nvim'
Enter fullscreen mode Exit fullscreen mode
  • 我出于不同的目的使用几种不同的文本编辑器,但我更喜欢nvim使用git commit

合并时请勿快进

git config --global --add merge.ff false
git config --global --add pull.ff only
Enter fullscreen mode Exit fullscreen mode
  • 快进合并会使跟踪分支上的工作历史记录变得困难。因此,合并时请避免无意的快进。
  • git pull但是,在大多数情况下,快进对于情况1来说都不是问题,因此我们在拉取的情况下强制快进。
  • 另请参阅:gitのmerge --no-ff のsusume - Qiita

输出结果中的行号git grep

git config --global grep.lineNumber true
Enter fullscreen mode Exit fullscreen mode

可视化空白的差异(包括换行符)

git config diff.wsErrorHighlight all
Enter fullscreen mode Exit fullscreen mode

编辑:2022-07-31

点文件

正如评论中提到的,这些都存储在中.gitconfig。并且我已将这些设置添加到 dotfiles 存储库。

https://github.com/snaka/my-dotfiles/blob/master/.gitconfig

感谢所有评论的人。


参见


  1. 根据我的经验,这种情况通常发生在你在本地环境中审查其他人创建的 PullRequest 时临时修改代码。在这种情况下,快进会更好,因为本地更改会汇总到历史记录的顶部,方便你最终撤消更改时使用。↩ 

文章来源:https://dev.to/snaka/10-things-i-always-setup-in-git-when-i-prepare-a-new-environment-d99
PREV
前端漫游指南:第三方代码 有一个第三方资源包 结论 资源
NEXT
用 17 种方法纠正 Git 错误