Я только что удалил ветку git.
Например :
mkdir test
cd test
git init
echo "Viva yo" > test.txt
git add .
git commit -m "test"
git checkout -b rama
echo "Viva tu" > test2.txt
git add .
git commit -m "test2"
git checkout master
git branch -D rama
Как я могу восстановить ветку, которую я только что удалил?
Если бы я знал хэш фиксации, я мог бы получить его с помощью:
git checkout -b rama EL_HASH
Но я не знаю, какой у него хэш, не смотрел.
Можешь попробовать:
git fsck --full --no-reflogs | grep commit
Чтобы найти коммит HEAD удаленной ветки.
Если вы хотите найти правильный коммит, вы можете использовать
git show
И как только вы найдете сообщение коммита, снова создайте ветку с
git branch <uid>
Насколько я понимаю, вы можете использовать
git reflog
его, чтобы увидеть коммиты, которые вы делали, и должен появиться SHA.с этим вы можете сделать
git checkout -b <rama> <sha>
Иногда из-за усталости или каких-либо других обстоятельств удаляются ветки или удаляются файлы, и чтобы восстановить их без необходимых знаний, мы в конечном итоге усугубляем ситуацию, и когда мы идем, чтобы проверить ветку с помощью команды
git log
, мы видим, что она больше не существует, и именно тогда наступает отчаяние. потеря ценной работы. Это случилось со мной, и после того, как я вырвал себе волосы и поискал, я нашел решение, которое помогло мне восстановить мою ветку. шаги:git reflog
, которая позволяет вам видеть даже то, что больше недоступно.git log
Это вызовет список, подобный следующему, всего, что произошло в git, там мы найдем голову, которая работала задолго до нашей проблемы, то есть тот, к которому мы хотим вернуться.Скопируйте GUID ГОЛОВКИ, которая имела версию, которую вы хотите восстановить (ГОЛОВКА — это та, которая обведена красным на изображении выше), это будет та, где все по-прежнему работает нормально.
Теперь с помощью команды
reset
мы можем вернуться в нужное состояние, ОБЯЗАТЕЛЬНО удалив все, что есть после нее, будьте осторожны, следующая команда удаляет все навсегда и возвращается в предыдущее состояние, поэтому убедитесь, что вы берете правильную версию и что выбранная вами Голова это место, куда вы хотите вернуться, для этой команды мы будем использовать уникальный идентификатор GUID, тот, что выделен синим цветом на следующем изображении.введите следующую команду
git reset --hard 0f71e0d
и нажмите Enter.если вы удалили ветку из своего локального каталога
git branch -d local_branch
и хотите проверить содержимое удаленной ветки, вы можете получить удаленную веткуОн еще не появится в ваших локальных филиалах, но как только это будет сделано, вы сможете переместить
пример:
вы должны поместить себя в другую ветку и удалить свою ветку dev из локальной:
git branch -d dev
теперь получите удаленного разработчика
git fetch origin dev
и теперь вы двигаетесь к нему, чтобы он появился:
git checkout -b dev