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

пользуем git для контроля версий.

Если я взгляну на конкретную историю файлов (используяgit log --pretty=format:"%h %ad" --date=short <filename>) Я вижу что-то вроде этого:

HashOfCommitA 2018-01-15
HashOfCommitB 2018-01-09
HashOfCommitC 2018-01-05
<older commits>

CommitA и CommitB являются коммитами слияния.

В изменениях CommitB (git diff HashOfCommitB <filename>) в файл добавлены две новые строки. На изменения в CommitA эти строки не влияют, но если я проверю содержимое файла после слияния CommitA, то две новые строки, добавленные в CommitB, будут отсутствовать.

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

Может ли это быть потому, что слияние было сделано с более старой версией ветки (без CommitB)? Как я могу найти, где были удалены эти строки?

Другими словами, как это возможно? Есть ли хорошие способы предотвратить такую ​​ситуацию в будущем?

Ответы на вопрос(1)

Ваш ответ на вопрос