你如何作为一个不同的用户提交代码?
我希望能够为脚本做到这一点。 我基本上是在Git中重新创build一些代码的整个版本历史 – 它目前使用不同的版本控制系统。 我需要脚本能够在提交Git的同时保留提交的原作者(和date)。
假设我知道提交作者和更改的date/时间,是否有Git命令,允许我这样做? 我假设有,因为git-p4做了类似的事情。 我只是要求最好的方法来做到这一点。
查看git commit
的--author
选项:
从手册页 :
--author=<author>
覆盖提交作者。 使用标准的
AU Thor <author@example.com>
格式指定一个明确的作者。 否则<author>
被认为是一个模式,用于search该作者现有的提交(即rev-list --all -i --author=<author>
); 然后提交作者从第一个这样的提交中find。
只需添加到:接受的答案中提到的--author
选项将只覆盖作者 ,而不是提交的提交者信息。
在大多数情况下,这是正确的行为,但是如果由于某种原因,您也需要手动覆盖提交者信息 ,请使用GIT_COMMITTER_NAME
和GIT_COMMITTER_EMAIL
环境variables(还有一个GIT_COMMITTER_DATE
)。 参见Git-Internals-Environment-Variables
$ GIT_COMMITTER_NAME="New Name" GIT_COMMITTER_EMAIL="name@email.com" git commit --author="New Name <name@email.com>"
这会使提交看起来像是由指定的用户创作和提交的。