我的存储库遇到问题: 显示特定文件历史记录我得到的提交次数少于显示完整的分支/存储库历史记录。 (清楚它有所不同,但是一些提交 - 包含特定文件 - 如果我显示文件相关历史记录,则不会出现。) 更糟糕的是,检查较新的提交,比旧文件的最后一次提交还要旧。 示例: a.c在分支历史中显示5次。 如果我显示a.c的文件历史记录,我会得到一个较少显示的提交。 存储库是最新的(本地和远程) 我正在使用egit / eclipse - 但是控制台具有相同的效果
当我检查最后一次提交/或分支时 - 我得到了旧版本的a.c 比最后一个承诺的! 或者当我新近克隆存储库时,我得到的状态(比某些文件更旧)比当前存储库更新 - 在我的普通存储库中
这怎么可能发生? 怎么解决这个问题?
提前致谢
CS
我将尝试添加一个示例:
| path | BLOB | date | Commit | user Name |
| a.c | 074aba | 16.12.2016 16:24 | 23e4d4 | User1 |
| a.c | 074aba | 16.12.2016 12:35 | f517a0 | User2 |
| a.c | 074aba | 16.12.2016 12:33 | 4b52b2 | User2 |
| a.c | 074aba | 16.12.2016 11:25 | f17354 | User3 |
| a.c | 074aba | 16.12.2016 10:43 | 9f377e | User2 |
| a.c | 074aba | 16.12.2016 10:43 | a04e31 | User2 |
| a.c | 074aba | 15.12.2016 19:39 | b47203 | User1 |
| a.c | 074aba | 15.12.2016 19:38 | 048600 | User1 |
| a.c | 074aba | 15.12.2016 17:55 | f10cbc | User4 |
| a.c | 074aba | 15.12.2016 17:30 | c26862 | User5 |
| a.c | 074aba | 15.12.2016 17:28 | 66635d | User5 |
| a.c | 074aba | 15.12.2016 16:49 | e72066 | User4 |
| a.c | 074aba | 15.12.2016 16:26 | fb1dee | User5 |
| a.c | 074aba | 15.12.2016 16:26 | d205a7 | User5 |
| a.c | 074aba | 14.12.2016 15:13 | 8f78e3 | User3 |
| a.c | 074aba | 14.12.2016 15:09 | 404690 | User3 |
| a.c | 074aba | 14.12.2016 15:04 | bbab2a | User3 |
| a.c | 074aba | 14.12.2016 14:19 | 2180aa | User6 |
| a.c | 227bd1 | 14.12.2016 14:18 | ce4dc7 | User6 |
| a.c | 227bd1 | 14.12.2016 13:21 | 4c135c | User6 |
| a.c | 074aba | 14.12.2016 10:39 | 0fd1c3 | User7 |
| a.c | 074aba | 14.12.2016 10:22 | 839ec8 | User7 |
| a.c | 074aba | 13.12.2016 18:13 | 860ef7 | User2 |
| a.c | 074aba | 13.12.2016 18:11 | 7d752b | User2 |
| a.c | 074aba | 13.12.2016 16:42 | 5a7770 | User5 |
| a.c | 074aba | 13.12.2016 15:50 | c4a173 | User5 |
| a.c | 227bd1 | 13.12.2016 14:15 | 1a6044 | User6 |
| a.c | 074aba | 13.12.2016 11:55 | 02852f | User3 |
| a.c | 074aba | 13.12.2016 11:26 | 506d9f | User3 |
| a.c | 074aba | 13.12.2016 11:15 | be6b93 | User3 |
| a.c | 074aba | 13.12.2016 09:38 | 8491a3 | User2 |
| a.c | 074aba | 12.12.2016 13:26 | 7ac6ce | User8 |
| a.c | 227bd1 | 12.12.2016 09:44 | b47bd1 | User6 |
| a.c | 074aba | 09.12.2016 08:28 | cdbca3 | User7 |
| a.c | 227bd1 | 09.12.2016 06:45 | 6ab615 | User6 |
| a.c | 074aba | 08.12.2016 17:11 | 078964 | User2 |
| a.c | 227bd1 | 08.12.2016 15:44 | f14d9f | User6 |
| a.c | 227bd1 | 08.12.2016 15:12 | 38ea88 | User6 |
| a.c | 227bd1 | 08.12.2016 15:12 | f577aa | User6 |
| a.c | 074aba | 08.12.2016 07:54 | d5ba9e | User7 |
| a.c | 227bd1 | 07.12.2016 14:50 | 2ee1e6 | User6 |
| a.c | 074aba | 06.12.2016 16:18 | 49fab0 | User2 |
| a.c | 074aba | 06.12.2016 13:25 | 1921dd | User8 |
怎么会发生 - 没有任何冲突消息 - 最新版本227bd1多次被覆盖? - 由不同的用户。
最初由用户6介绍,他的版本重复更新。
多个用户正在提交并将一个中央存储库推送到分支主服务器。
该表是由git ls-tree和git log构建到一个数据库中,以便在一个视图中提交和BLOB
非常感谢帮助和想法。 对我们来说,目前尚不清楚,我们是否以错误的方式使用git,或者我们如何将其损坏。或者我们可能对git存储库抱有错误的期望。
提前谢谢 CS答案 0 :(得分:0)
好的,同时我们知道根本原因: 我们对一个非常“旧的”待定提交/推送新用户感到困惑。 所有用户都使用pull(而不是fetch + merge)这个用户得到了一个很长的已更改文件列表(在索引中),因为一个冲突的文件+他从未接触过的所有其他文件。当他解决了他的冲突时,他删除了所有文件,他从未触及索引 - 后来硬重置。由于提交由所有文件组成,但未明确更改作为提交的一部分,因此几乎无法找到此类问题! 对这些问题进行一致性检查将是一个很好的功能。 (更新的合并提交不应包含旧文件版本)