Сказать, что у меня есть пустой репозиторий git.Вот команды, которые я выполняю:
echo 'aaa' > file
git add .
git commit -m 'a'
echo 'bbb' >> file
git commit -am 'b'
echo 'ccc' >> file
git commit -am 'c'
Затем я выполняю git reflog
, чтобы получить журнал:
d3f79b4 HEAD@{0}: commit: c
4c79a7f HEAD@{1}: commit: b
a31df0d HEAD@{2}: commit (initial): a
Теперь я хочу вернуться к commit: b
, что означает, чтоЯ хочу изменить file
с
aaa
bbb
ccc
на
aaa
bbb
Я пытаюсь выполнить команду: git revert 4c79a7f
, но получаю сообщение об ошибке о конфликте:
error: could not revert 4c79a7f... b
hint: after resolving the conflicts, mark the corrected paths
hint: with 'git add <paths>' or 'git rm <paths>'
hint: and commit the result with 'git commit'
И file
становится:
aaa
<<<<<<< HEAD
bbb
ccc
=======
>>>>>>> parent of 4c79a7f... b
Я не могу понять, почему у меня возникает такой конфликт.
Кроме того, если я создаю три файла при каждом коммитенапример:
touch file1
git add .
git commit -m 'a'
touch file2
git commit -am 'b'
touch file3
git commit -am 'c'
Я могу вернуться к любому историческому коммиту.
Я изучаю git, поэтому я знал, что могу использовать git reset
, но я хочу научиться git revert
сейчас.