мерзавец - некоторые файлы не на последнем коммите в удаленном - PullRequest
3 голосов
/ 19 марта 2019

Наш репозиторий git, похоже, «игнорирует» некоторые коммиты, которые мы выдвинули за определенный период времени. Я могу видеть их в истории коммитов, но при открытии / извлечении фактического файла это происходит при более раннем коммите.

Пульт дистанционного управления - это Gitlab, размещенный в нашем университете. Ни я, ни мои товарищи по команде не вспоминают, что делали что-то необычное, и ничего необычного в истории хранилища также не появляется. У нас есть только один удаленный филиал (мастер).

Я сделал и передал коммиты в прошлый четверг, а товарищ по команде A сразу же вытащил из хранилища и вытащил изменения, которые я только что выдвинул. Товарищ по команде B выдвинул пару коммитов после этого. Согласно git show и истории, показанной в Gitlab, коммиты Teammate B не влияли на файлы, измененные в предыдущих коммитах, которые я сделал. Однако, когда и я, и товарищ по команде A выполнили проверку после коммита Teammate B, файлы были перезаписаны из предыдущего коммита.

Пример:

  1. История коммитов для одного из затронутых файлов Commit history for one of the affected files

Самым последним коммитом является 9c53751e, но когда мы извлекаем данные с удаленного компьютера, вместо этого мы получаем b690a169.

  1. вывод журнала git для того же файла за тот же период времени

<code>
commit b690a169b9293d41cd0aa7c0984cc5800aa7dc6b
Author: redacted - author
Date:   Thu Mar 14 00:28:31 2019 +0000</p>

<p>redacted - commit message</p>

<p>commit b8ecd472ce00dd71f7fd182a6fac687e7a1127b8
Author: redacted - author
Date:   Mon Mar 11 20:41:16 2019 +0000</p>

<p>redacted - commit message</p>

<p>commit 19a93adaa7c8f5cf0bafb9af2ad053cff8113419
Author: redacted - author
Date:   Sat Feb 23 23:52:06 2019 +0000</p>

<p>redacted - commit message</p>

<p>commit f0f1a60d57e54d1b5148f4c163d26275d947c9e8
Merge: a307998 0d0dd67
Author: redacted - author
Date:   Sat Feb 23 16:09:35 2019 +0000</p>

<p>:...skipping...
commit b690a169b9293d41cd0aa7c0984cc5800aa7dc6b
Author: redacted - author
Date:   Thu Mar 14 00:28:31 2019 +0000</p>

<p>redacted - commit message</p>

<p>commit b8ecd472ce00dd71f7fd182a6fac687e7a1127b8
Author: redacted - author
Date:   Mon Mar 11 20:41:16 2019 +0000</p>

<p>redacted - commit message</p>

<p>commit 19a93adaa7c8f5cf0bafb9af2ad053cff8113419
Author: redacted - author
Date:   Sat Feb 23 23:52:06 2019 +0000</p>

<p>redacted - commit message</p>

<p>commit f0f1a60d57e54d1b5148f4c163d26275d947c9e8
Merge: a307998 0d0dd67
Author: redacted - author
Date:   Sat Feb 23 16:09:35 2019 +0000</p>

<p>redacted - commit message</p>

<p>commit a30799825ca0776513fd62468fca436bcaa04ab7
Author: redacted - author
Date:   Sat Feb 23 13:17:58 2019 +0000</p>

<p>redacted - commit message</p>

<p>commit 0d0dd67664c63905f3b3a4061a1690a86d5da117
Author: redacted - author
Date:   Thu Feb 21 12:30:53 2019 +0000</p>

<p>redacted - commit message</p>

<p>commit 280e11a7315e761440f38257cdffdbd79ea77513
Author: redacted - author
Date:   Sun Feb 17 15:24:04 2019 +0000</p>

<p>redacted - commit message</p>

<p>commit 61bbc6da1e1e22f42df1f9b0141dabdaf3b132e5
Author: redacted - author
Date:   Sun Feb 17 12:21:38 2019 +0000</p>

<p>redacted - commit message</p>

<p>

Commit 9c53751e не отображается нигде в git log для этого файла. Тем не менее, мне интересно, что некоторые коммиты появляются неоднократно (они повторяются после 4-го коммита сверху).

  1. git log для всего хранилища

<code></p>

<p>commit f52a9891dce9d1fc04287a0cc036ba7a6abfe490
Merge: 37f2c7a 9c53751
Author: Teammate B
Date:   Fri Mar 15 12:10:29 2019 +0000</p>

<p>redacted - commit message</p>

<p>commit 37f2c7a2da1c7154edc25542b831cf47e602c779
Author: Teammate B
Date:   Fri Mar 15 09:52:12 2019 +0000</p>

<p>redacted - commit message</p>

<p>commit 9c53751e8b6edf6222f3dd7117b0ebf3a640bc68
Author: Me
Date:   Thu Mar 14 21:27:33 2019 +0000</p>

<p>redacted - commit message</p>

<p>commit 1c9eb7142a69e67e5c5459a4366dd125c9a85696
Merge: cb01aa8 669d5d1
Author: redacted - author
Date:   Thu Mar 14 21:22:58 2019 +0000</p>

<p>redacted - commit message</p>

<p>commit cb01aa82a1a5ab6b311e7cd97a1add29217df2c7
Author: redacted - author
Date:   Thu Mar 14 21:22:48 2019 +0000</p>

<p>redacted - commit message</p>

<p>commit 669d5d143e4b2f3734f0cdabc98ade0914f6d2ea
Author: redacted - author
Date:   Thu Mar 14 21:02:26 2019 +0000</p>

<p>redacted - commit message</p>

<p>commit 8117b7b68cdb4763728eb93acfc476d2ffc47a3b
Author: redacted - author
Date:   Thu Mar 14 20:52:02 2019 +0000</p>

<p>redacted - commit message</p>

<p>commit ac8429422a1eb5698e772efa0fe7d513cf35d41b
Author: redacted - author
Date:   Thu Mar 14 20:18:13 2019 +0000</p>

<p>redacted - commit message

В этом журнале git два последних коммита сделаны товарищем по команде B. Здесь пропущен коммит 9c53751e. Коммиты товарища по команде B не повлияли на файлы, затронутые 9c53751e (проверено с помощью git show f52a9891dce9d1fc04287a0cc036ba7a6abfe490), однако 9c53751e указан как родитель слияния.

Все коммиты, сделанные и отправленные в пятницу, после чего работают как положено, удаленный указывает на последний коммит. Это включает файлы, затронутые проблемой, описанной выше.

Я подозреваю, что слияние пошло не так, как ни странно, но странно, что никакой информации в истории найти не удалось. Есть ли какие-нибудь другие команды git, которые я мог бы запустить, чтобы дать какое-то объяснение? Есть ли способ восстановить эти коммиты, не просматривая историю каждого файла вручную и не склеивая ее?

...