在没有设置user.email和user.name的情况下提交
我试图这样做
git commit --author='Paul Draper <my@email.org>' -m 'My commit message'
但是我明白了
*** Please tell me who you are. Run git config --global user.email "you@example.com" git config --global user.name "Your Name" to set your account's default identity. Omit --global to set the identity only in this repository.
我可以设置这些,但我在一个共享的框中,我将不得不(以后)取消它们。
git config user.name 'Paul Draper' git config user.email 'my@email.org' git commit -m 'My commit message' git config --unset user.name git config --unset user.email
这是一个提交很多行!
有更短的路吗?
(在使用环境variables提示长版本之后,我想到了这一点 – git commit想要设置一个作者和一个提交者,而 – 作者只会覆盖前者。)
所有的git命令都会在动作动词之前使用-c
参数来设置临时configuration数据,所以这就是完美的地方:
git -c user.name='Paul Draper' -c user.email='my@email.org' commit -m '...'
你可以在你的repo中编辑.git/config
文件来添加下面的别名:
[alias] paulcommit = -c user.name='Paul Draper' -c user.email='my@email.org' commit
或者你可以通过命令行来做到这一点:
git config alias.paulcommit "-c user.name='Paul Draper' -c user.email='my@email.org' commit"
然后你可以这样做:
git paulcommit -m "..."
备注:
- 然后,这个想法是为这个共享框的其他用户添加像
jeancommit
,georgecommit
等别名。 - 您可以通过编辑个人
.gitconfig
或在添加别名时在命令行中添加--gloabl
选项来将此别名添加到全局configuration中。 - 别名
paulcommit
不是一个简短的,但它是冗长的,你可以在一般只键入git pau
+ tab 。