LINUX.ORG.RU

Поиск коммита в git.

 


0

1

Получил список изменений в течение 100 коммитов:
git diff commit n100...n200
нашёл мешающее мне изменение, у него есть некий индекс:
index a12345b..b54321a 100644
Как теперь найти коммит, который внёс это изменение простым способом?
Сейчас я делаю видимо по дебильному, делю коммиты пополам, смотрю через diff, где сохраняется изменение, делю этот участок снова пополам и т.д.


Ответ на: комментарий от bvn13

Я через web с git вообще ни разу не пробовал работать. Зачем мне это понадобилось. Полтора года назад склонировал некий репозитарий, всё собралось и работало. Решил для исправления багов сделать у себя git pull, обновилось до последнего состояния, но компилятор стал ругаться на конкретные строки. Через git diff в тексте нашёл изменения в этих строках, нашёл индекс и, способом описанным выше, коммит. Думал откачусь до него, но попробовал отменить именно этот коммит, а он и отменился, при этом мне не понадобилось ничего разруливать, и даже собралось. Для выяснения что там с этим коммитом не так, у меня навыков нет, я не разработчик. Поиск в интернете не дал мне простой способ поиска коммита в похожих условиях, поэтому и возник вопрос, не ужели нет такой возможности?

Viper
() автор топика
Ответ на: комментарий от akk

Кстати да, большое спасибо. Не знал про неё, это бы помогло мне решить мою задачу проще. Но для общего образования, хотелось бы понять, возможность поиска коммита по индексу есть?

Viper
() автор топика
Ответ на: комментарий от Jini

Или я чего-то не понимаю или не совсем то, что нужно. Он позволяет найти состояния после которого у меня проект не собирается, по тому же принципу что и я использовал для поиска коммита, только каждый раз собирая проект и ожидая результат, а я знал в какой строке конкретно проблема и мне нужно было найти коммит, который эту строку изменил.

Viper
() автор топика

Плохо понимаю описание, но может это:

git log -p a12345b..b54321a

xaizek ★★★★★
()

Сейчас я делаю видимо по дебильному, делю коммиты пополам

git bisect

Dudraug ★★★★★
()
Ответ на: комментарий от Viper

о для общего образования, хотелось бы понять, возможность поиска коммита по индексу есть?

Это объекты с контентом файлов между которыми строится diff. Каждый такой объект может быть в нескольких коммитах и, следовательно, без обхода или обратного индекса найти все коммиты нельзя. Обратного индекса по объектам в git нет, остаётся обходить коммиты

anonymous
()

Всем откликнувшимся большое спасибо.

Viper
() автор топика
Последнее исправление: Viper (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.