我在机器上的操作系统重新加载中丢失了.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 -- "$@"
将添加所有内容(如果没有传递参数(,或者仅添加作为参数传递的内容("$@"
(