gitconfig别名的语法是否正确

  • 本文关键字:是否 语法 别名 gitconfig git
  • 更新时间 :
  • 英文 :


我在机器上的操作系统重新加载中丢失了.gitconfig别名,并且我未能为以前在旧机器上运行的命令设置和别名。

我曾经在终端中运行git commit -am 'commit message here',它会为我添加所有文件,git add .,然后为我添加git commit -m,并将字符串作为提交消息传递给别名-am命令。我应该如何正确设置和别名以在我的新机器上重新创建这种行为?

我玩过各种语法,比如:

am = "git add . && git commit -m"

或am="!git添加&git commit-m";

但这些都不起作用,所以肯定是不正确的。有人能建议如何最好地做到这一点吗?感谢

如果您真的想使用git add .,可以定义.bashrc函数或git别名。

但如前所述,尤其是使用git add .时,最好先执行git status并仔细检查实际添加到索引中的内容,,然后再进行任何提交。

因此,您可以考虑使用另一个别名在gitadd之后自动显示状态。

[alias]
sadd = !f() { cd -- "${GIT_PREFIX:-.}" && git add -- "$@" && git status; }; f
  • !是执行一个外部命令(这里是同一个shell中的函数f,比启动子shell的!sh '...'更快(,如Git别名中所述。

  • 如果设置了${GIT_PREFIX:-.},则使用环境变量GIT_PREFIX值;如果未设置,则使用'.'(bash参数扩展(
    正如我在";获取运行git alias的路径:

如果未定义GIT_PREFIX(因为您从repo的根文件夹执行别名(,它将被'.'替换
根文件夹执行别名时,未定义GIT_PREFIX。因此需要使用"."(当前文件夹(。

  • 到达Git存储库根文件夹后,git add -- "$@"将添加所有内容(如果没有传递参数(,或者仅添加作为参数传递的内容("$@"(

相关内容

最新更新