Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/33.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
如何在Git中分析更改的历史_Git - Fatal编程技术网

如何在Git中分析更改的历史

如何在Git中分析更改的历史,git,Git,我们在“god repository”工作流中使用Git——一台服务器和repo(GR)是正式的历史记录,人们可以随心所欲地协作,在提交就绪时推送到god服务器 最近一位同事遇到了一个问题。他们在GR的维护分支上推送了一些提交,但他们的同事推送了,看不到更改 我,我想那家伙不是真的推,或者推错了存储库,或者诸如此类的东西。我登录到他的帐户,导航到存储库,查看git状态,并确保所有内容都是最新的。我执行了一个git fetch,我看到origin/maintenance旁边有一条强制更新消息 我做

我们在“god repository”工作流中使用Git——一台服务器和repo(GR)是正式的历史记录,人们可以随心所欲地协作,在提交就绪时推送到god服务器

最近一位同事遇到了一个问题。他们在GR的
维护
分支上推送了一些提交,但他们的同事推送了,看不到更改

我,我想那家伙不是真的推,或者推错了存储库,或者诸如此类的东西。我登录到他的帐户,导航到存储库,查看git状态,并确保所有内容都是最新的。我执行了一个
git fetch
,我看到origin/maintenance旁边有一条
强制更新
消息

我做了一个合并和推送,一切都很好——除了似乎有人改变了GR上的历史记录,这是一个不允许的(除了偶尔移动一个标记)


我能做些什么来找出历史在哪里改变、如何改变以及是谁做的?

如果有人真的重写了
维护分支的历史,那么每个人在尝试从分支中拉出或推到分支时都会看到错误。你没有提到任何这样的错误对我来说似乎很奇怪,让我觉得这里可能发生了其他事情。不一定。采取回购a,并在其中加入一些历史记录。将A克隆到B和C中。取B,重置几次,然后按--强制。现在进入回购C并进行git pull。您所看到的是,您有几个未推送的提交,没有错误(以及在拉取过程中的强制更新标记),其他人看不到的。您可能会发现比较God存储库当前状态和夜间备份以了解情况何时发生变化是有益的。您可以从该个人的机器上使用
git reflog
,但此时您也可以运行
history