UserA在13天前在github上向UserB承诺意味着什么?

UserA在13天前在github上向UserB承诺意味着什么?,git,github,Git,Github,我很想知道当github同时列出这两个用户时,这两个用户中的哪一个进行了文件更改。然而,git记录只包含UserA。UserA才是真正进行更改的人。UserB是将这些更改提交到此分支的人。i、 e如果UserA将其更改提交到branch1,那么UserB就会来,将几个更改提交到branch2,并用branch2对branch1进行重定。现在,branch1中最顶层的提交将显示UserA已经用UserB提交了这些更改 编辑:这主要发生在重定基址和挑选樱桃期间,因为作者和提交人在这些过程中可能会有所

我很想知道当github同时列出这两个用户时,这两个用户中的哪一个进行了文件更改。然而,git记录只包含UserA。

UserA才是真正进行更改的人。UserB是将这些更改提交到此分支的人。i、 e如果UserA将其更改提交到branch1,那么UserB就会来,将几个更改提交到branch2,并用branch2对branch1进行重定。现在,branch1中最顶层的提交将显示UserA已经用UserB提交了这些更改


编辑:这主要发生在重定基址和挑选樱桃期间,因为作者和提交人在这些过程中可能会有所不同。

@venkatKA的回答是准确和描述性的,但我想我需要补充一些细节

git cat file-p HEAD可用于打印有关提交的信息

tree d85ed3c3a055c95445898a5119ea0a532459fdsf
parent 0b6ed951b2c04b4134c91ffa053b4330edfdffc1
author AuthA <autha@email.com> 1487356245 +0000
committer AutbB <aubt@email.com> 1487356245 +0000

关于重新平衡打破历史以及为什么修正主义是一个坏主意的标准评论适用。

发生这种情况的另一个可能原因是使用
$GIT\u AUTHOR\u NAME
$GIT\u AUTHOR\u EMAIL
环境变量

设置这些变量后,它们将覆盖每次向前提交的作者部分,而不管本地设置了什么
user.name
user.email
配置值。在这种情况下,当您点击
git cat file-p HEAD
时,author显示
$git\u author\u NAME
的值,committer显示本地
user.NAME
配置的值


因此,您需要删除在
.bashrc
.zshrc
中导出这些变量的行,或者如果您想保留这些行但不想发生这种情况,请在运行GIT commit之前插入
unset GIT\u AUTHOR\u NAME&&unset GIT\u AUTHOR\u EMAIL
不包括UserA和UserB吗?“Committer”和“Author”可能有不同的值。还有
git commit--Author=
覆盖提交作者。一些GUI,如Jetbrains的PhpStorm,允许从提交窗口选择该选项;它通常带有一个自动完成的下拉列表,在提交提交表单之前可能会被意外点击。您还可以
git show--format=full
git show--format=fuller
(或使用相同的
--format
参数和
git log
)查看作者和提交者。
git filter-branch -f --tree-filter "GIT_COMMITTER_NAME='New Author'; GIT_COMMITTER_EMAIL='New Author'"