我想做一个提交
git commit --author="John Doe <john@doe.com>" -m "<the usual commit message>"
Run Code Online (Sandbox Code Playgroud)
其中John Doe是我想要提交其名称的某个用户.
看起来好像在git log.但是,当我这样做时gitk,作者姓名是正确的,但是从我的全局git配置设置中选择了提交者名称(因此设置为我的姓名/电子邮件).
两者之间有什么区别(提交者与作者)?
我是否应该将提交者设置为其他用户?
如果有,怎么样?
我的同事(在这里叫他约翰)和我一起工作。我们的工作分支如下所示
--o--o--o # this is develop branch
\ o--o--o # this is John's branch
\ / \
o----o--o--o--o--o--o # this is our cowork branch
\ /
o--o--o--o--o--o # this is my branch
Run Code Online (Sandbox Code Playgroud)
我们已经完成工作,并准备合并我们的同事以开发分支机构。
此时,cowork分支中有很多提交,其他开发人员预计不会看到。所以我想将那些提交压缩为一次提交。
但是在压扁(解决了一些冲突)之后,我发现所有作者信息都直接指向我,没有John的信息。
因此,我的问题是,在将这些提交合并在一起时,是否可以保留John和我的信息?
遵循this SO post和链接指南,我设置了如下条件配置...
$ cat ~/.gitconfig
[user]
name = Random J. Hacker
email = RandomJ@hack.er
[includeIf "gitdir:~/work/*"]
path = ~/work/.gitconfig
$ cat ~/work/.gitconfig
[user]
name = Serious Q. Programmer
email = serious.q@programmer.biz
Run Code Online (Sandbox Code Playgroud)
这样,我在 Programmer Co. 工作时克隆的所有存储库都将我的@programmer.biz工作电子邮件地址分配为默认--author凭据;我克隆到我的桌面或/tmp/~/.vscode或任何地方的每个随机存储库都将我的超级合法@hack.er凭证分配为作者。
不幸的是,我注意到以下行为......
$ git clone git@github.com:programmerbiz/repo.git
$ cd repo/
$ git config --list | grep user
user.name=Random J. Hacker
user.email=RandomJ@hack.er
user.name=Serious Q. Programmer
user.email=serious.q@programmer.biz
Run Code Online (Sandbox Code Playgroud)
不好了!我的@hack.er用户被业务回购接收了!
我想为所有 repos自动配置一个且只有一个默认值 …
我有时想给那些为我设计一些东西的用户提供道具,给了我这个想法,创造了导致公关的问题或提交了我关闭的公关但最终自己加了一半.
如何添加GitHub上共同提交的提交?