Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/github/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
修复未计数的Github提交_Git_Github - Fatal编程技术网

修复未计数的Github提交

修复未计数的Github提交,git,github,Git,Github,我在不同的时间从不同的客户那里向github做出了一些承诺。现在我明白了,在我的个人资料中,有些人没有出现。当我去检查提交时,我可以在那里看到它,但没有我的个人资料图片。据我所知,这是因为我在本地配置了客户端 是否有一种方法可以编辑过去的提交或使配置错误的提交显示在我的配置文件中 编辑:我可以在github查看我的提交。但是我用我的mac电脑制作的带有个人资料图片的,还有我用我的windows pc制作的,没有个人资料图片的。现在我知道,当我修复它时,我未来的承诺将被计算在内。我想问的是过去的那

我在不同的时间从不同的客户那里向github做出了一些承诺。现在我明白了,在我的个人资料中,有些人没有出现。当我去检查提交时,我可以在那里看到它,但没有我的个人资料图片。据我所知,这是因为我在本地配置了客户端

是否有一种方法可以编辑过去的提交或使配置错误的提交显示在我的配置文件中


编辑:我可以在github查看我的提交。但是我用我的mac电脑制作的带有个人资料图片的,还有我用我的windows pc制作的,没有个人资料图片的。现在我知道,当我修复它时,我未来的承诺将被计算在内。我想问的是过去的那些是什么?

Github根据您的电子邮件地址识别您的提交。所有的事情都应该计算在内。

Github根据您的电子邮件地址确定您的提交。所有东西都应该被计算在内。

作者和提交者身份是提交的一个组成部分;因此,要修复现有提交,您必须重新设置它们的基础(即,用具有正确元数据的新提交替换它们)

如果其他任何人可能已经
fetch
ed了当前存在的提交(或者更准确地说,可能已经
fetch
ed了任何可以到达当前存在的提交的引用),那么您需要与所有此类用户协调。如果有许多其他用户,或者特别是如果有一些用户处于松散的通信中,并且可能没有立即意识到正在发生的事情,那么可能不值得为此而头痛。而且,基于提交的新工作越多,编辑它的成本就越高

如果您理解上述内容,并且仍然希望修复它,那么最好的方法是

1) 让每个人把他们所有的工作都推到远程 2) 让每个人放弃他们的克隆人 3) 修复本地提交 4) 强制将修复程序推到远程 5) 每个人都可以重新克隆

如果这是不切实际的,那么您可以参考
git-rebase
文档中的“从上游rebase恢复”一节,了解每个开发人员如何在不放弃/重新控制的情况下进行恢复的技巧

至于如何重写自己。。。这同样取决于可以到达要修复的提交的“其他”提交(和引用)的拓扑。在最简单的情况下,如果你有

A -- x1 -- B -- x2 -- C <--(master)
您将得到一个TODO列表,其中包含每个提交的条目;找到
x1
x2
并将其命令从
pick
更改为
edit
。每次提交后,git都会暂停重新基址。然后你可以说

git commit --amend --reset-author
(假设您已修复本地配置)


如果有多个分支和/或合并,事情会很快变得更复杂。可能包含冲突解决方案(或“邪恶”更改)的合并是一个特殊问题。有很多变体,因此如果提供了上述信息,您需要在特定情况下获得更多帮助,那么我需要更多信息(如示例提交/引用图)。

作者和提交者身份是提交的一个组成部分;因此,要修复现有提交,您必须重新设置它们的基础(即,用具有正确元数据的新提交替换它们)

如果其他任何人可能已经
fetch
ed了当前存在的提交(或者更准确地说,可能已经
fetch
ed了任何可以到达当前存在的提交的引用),那么您需要与所有此类用户协调。如果有许多其他用户,或者特别是如果有一些用户处于松散的通信中,并且可能没有立即意识到正在发生的事情,那么可能不值得为此而头痛。而且,基于提交的新工作越多,编辑它的成本就越高

如果您理解上述内容,并且仍然希望修复它,那么最好的方法是

1) 让每个人把他们所有的工作都推到远程 2) 让每个人放弃他们的克隆人 3) 修复本地提交 4) 强制将修复程序推到远程 5) 每个人都可以重新克隆

如果这是不切实际的,那么您可以参考
git-rebase
文档中的“从上游rebase恢复”一节,了解每个开发人员如何在不放弃/重新控制的情况下进行恢复的技巧

至于如何重写自己。。。这同样取决于可以到达要修复的提交的“其他”提交(和引用)的拓扑。在最简单的情况下,如果你有

A -- x1 -- B -- x2 -- C <--(master)
您将得到一个TODO列表,其中包含每个提交的条目;找到
x1
x2
并将其命令从
pick
更改为
edit
。每次提交后,git都会暂停重新基址。然后你可以说

git commit --amend --reset-author
(假设您已修复本地配置)


如果有多个分支和/或合并,事情会很快变得更复杂。可能包含冲突解决方案(或“邪恶”更改)的合并是一个特殊问题。有很多变化,因此,如果提供了上述信息,您需要在特定情况下获得额外帮助,那么我需要更多信息(如示例提交/引用图)。

您是否推动了提交?所有的客户都在正确的分支机构工作吗?是的。对我可以在github查看我的提交。但是,我的mac电脑上有个人资料图片,而windows电脑上没有个人资料图片。现在我知道当我修复它时,我未来的提交将被计数,但我会问“过去的提交如何?”您不能编辑过去的提交,因为sha与它们的关联完全相同。你可以重写历史,但这通常是个坏主意。如果你是唯一的贡献者,你可以这样做。你推动了你的提交吗?所有的客户都在正确的分支机构工作吗?是的。对我可以在github查看我的提交。但是,我的mac电脑上有个人资料图片,而windows电脑上没有个人资料图片。现在我知道当我修复它时,我未来的提交将被计数,但我会问“过去的提交如何?”您不能编辑过去的提交,因为sha与它们的关联完全相同