Мой последний коммит работает. Мой текущий рабочий набор содержит ошибку. Как узнать, какие изменения вызвали ошибку? - PullRequest
1 голос
/ 07 января 2020

Изменение, внесенное мной с момента последнего коммита, привело к ошибке. Я прочитал diff (между последним коммитом и моим текущим незафиксированным рабочим набором) тысячу раз, и не могу за свою жизнь выяснить, какие изменения привели к этой ошибке. Как я могу использовать git, чтобы узнать, какие изменения вызвали ошибку?

Ответы [ 2 ]

4 голосов
/ 07 января 2020

git здесь вам ничем не поможет, так как у вас просто большая (?) Куча изменений, которые даже не зафиксированы. Однако вы можете (ab) использовать git, чтобы помочь вам найти ошибку:

Зафиксируйте ваши изменения небольшими коммитами, которые являются функциональными (вероятно, вы уже найдете свою проблему при этом). Я бы рекомендовал использовать git add -p для постановки только части ваших разработок, что-то вроде:

git add -p
# select some minor changes that make up one small working commit
git commit -m "first working changes"
git stash # move all other changes aside in a git stash
# now test if your code still works, if it does, you can continue:
git stash pop # put the stashed changes back
# repeat the previous actions.

Это поможет вам фиксировать ваши рабочие изменения по крупицам.

Предположим, вы сделали много небольших коммитов, вы могли бы использовать git bisect, чтобы помочь вам найти ошибочный коммит.

2 голосов
/ 07 января 2020

Вы не можете найти его с помощью git, так как git не знает поведение вашего кода, он только сохраняет его версии.

Вы можете комментировать или ставить sh некоторые части вашей работы, чтобы найти ошибку.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...