这是我的git repo当前状态(在GitX中可视化)。 '34e ...'和'c3d ...'提交(被注释为“Implemented a global ...”)是相同的。我用git diff确认了这一点,它们甚至有相同的提交时间!唯一的区别是它们的SHA。
我不知道如何让我的repo处于这种状态。虽然我不是git专家,但我已经使用它一段时间了,并且对所有基础知识都非常熟悉。这是突然发生的,我没有尝试任何以前没有使用过的git功能或工作流程,所以我感到相当困惑。
没有其他人向远程提交任何内容,因此我可以更改历史记录,但最好不要涉及这方面的解决方案。
我可以只做正常的合并或重定位主文件夹和origin/master,但我对此感到不舒服,因为历史记录将显示2个相同的提交。
有可能检出origin/master,然后重新定位从'a4a...'开始的所有提交到origin/master,然后将主文件夹切换到此新HEAD吗? (基本上仅保留'c3d ...'提交,由于它是重复项,因此无关紧要)
1)那么修复这种情况的首选方法是什么?
2)这是怎么发生的?有人遇到过这种情况吗?
编辑:
git diff c3db784817 34e1ab666a:没有输出。 git reflog master:9579294 master@ {0}:commit:为测试图像视图添加了仅调试的控制台打印
1155228 master@{1}: commit: 添加新标记接口,自定义单元格可以imp
a4ab788 master@{2}: commit: 添加了一个新的StyledRootElement,它可以自动应用于
c3db784 master@{3}: commit: 实现了一种全局技术,可以为所有现有样式
34e1ab6 master@{4}: commit: 实现了一种全局技术,可以为所有现有样式
8519fb1 master@{5}: commit: 扩展了remove方法,使调用者可以访问
30aeee6 master@{6}: commit: 基于侧滑视图添加了一个新的工厂方法
我不知道如何让我的repo处于这种状态。虽然我不是git专家,但我已经使用它一段时间了,并且对所有基础知识都非常熟悉。这是突然发生的,我没有尝试任何以前没有使用过的git功能或工作流程,所以我感到相当困惑。
没有其他人向远程提交任何内容,因此我可以更改历史记录,但最好不要涉及这方面的解决方案。
我可以只做正常的合并或重定位主文件夹和origin/master,但我对此感到不舒服,因为历史记录将显示2个相同的提交。
有可能检出origin/master,然后重新定位从'a4a...'开始的所有提交到origin/master,然后将主文件夹切换到此新HEAD吗? (基本上仅保留'c3d ...'提交,由于它是重复项,因此无关紧要)
1)那么修复这种情况的首选方法是什么?
2)这是怎么发生的?有人遇到过这种情况吗?
编辑:
git diff c3db784817 34e1ab666a:没有输出。 git reflog master:9579294 master@ {0}:commit:为测试图像视图添加了仅调试的控制台打印
1155228 master@{1}: commit: 添加新标记接口,自定义单元格可以imp
a4ab788 master@{2}: commit: 添加了一个新的StyledRootElement,它可以自动应用于
c3db784 master@{3}: commit: 实现了一种全局技术,可以为所有现有样式
34e1ab6 master@{4}: commit: 实现了一种全局技术,可以为所有现有样式
8519fb1 master@{5}: commit: 扩展了remove方法,使调用者可以访问
30aeee6 master@{6}: commit: 基于侧滑视图添加了一个新的工厂方法
Bender:mt-d-styles tyson$ git reflog origin/master
34e1ab6 更新推送后的引用/远程origin/master@{0}
8519fb1 更新推送后的引用/远程origin/master@{1}
495e0ef 更新推送后的引用/远程origin/master@{2}
c5fec81 更新推送后的引用/远程origin/master@{3}
cba1e0f 更新推送后的引用/远程origin/master@{4}
9ee1ffb 更新推送后的引用/远程origin/master@{5}
68ee429 更新推送后的引用/远程origin/master@{6}
0e2d199 更新推送后的引用/远程origin/master@{7}
8a4de84 更新推送后的引用/远程origin/master@{8}
编辑2:
git log --format=raw --decorate --graph --all:
* commit c3db7848171f396c5a595a35dd6b609c119f9e84
| tree 998e9749546d05178798c8a462d3eff02a111f4c
| parent 8519fb17e77b8ae865e071772ae652316df8822a
| author Tyson <tyson> 1364529327 +0800
| committer Tyson <tyson> 1364539365 +0800
|
| Implemented a global technique for styling all existing MT.D element backg
|
| * commit 34e1ab666a81dde7582ee9e31bfa961420d38f55 (origin/master)
|/ tree 38f9e0c3d936c702fdcd18d215a2f0a88280893b
| parent 8519fb17e77b8ae865e071772ae652316df8822a
| author Tyson <tyson> 1364529327 +0800
| committer Tyson <tyson> 1364529327 +0800
|
| Implemented a global technique for styling all existing MT.D element bac
|
git diff c3d784 34e1ab
显示什么? - kangit reflog master
和git reflog origin/master
的输出。 - kangit diff
在这两者之间没有显示任何差异。出于好奇,是什么让 reflog 输出看起来像我进行了修改? - Tyson