Я просто видалив неправильну гілку з деякими експериментальними змінами, які мені потрібні git branch -D branchName
.
Як відновити відділення?
Я просто видалив неправильну гілку з деякими експериментальними змінами, які мені потрібні git branch -D branchName
.
Як відновити відділення?
Відповіді:
Ви можете скористатися git reflog, щоб знайти SHA1 останнього комітету гілки. З цього моменту ви можете відтворити гілку за допомогою
git branch branchName <sha1>
Редагувати: Як говорить @seagullJS, branch -D
команда повідомляє вам sha1, тому якщо ви ще не закрили термінал, це стає справді просто. Наприклад, це видаляє, а потім негайно відновлює гілку з назвою master2
:
user@MY-PC /C/MyRepo (master)
$ git branch -D master2
Deleted branch master2 (was 130d7ba). <-- This is the SHA1 we need to restore it!
user@MY-PC /C/MyRepo (master)
$ git branch master2 130d7ba
git branch branchName origin/branchName
Якщо ви просто видалили гілку, ви побачите щось подібне у своєму терміналі:
Deleted branch branch_name(was e562d13)
- де e562d13 - це унікальний ідентифікатор (він же "SHA" або "хеш"), за допомогою цього ви можете відновити видалену гілку.
Щоб відновити відділення, використовуйте:
git checkout -b <branch_name> <sha>
наприклад :
git checkout -b branch_name e562d13
По-перше: створіть резервну копію всього каталогу, включаючи .git-каталог.
По-друге: Ви можете використовувати git fsck --lost-found
ідентифікатор втрачених комісій.
По-третє: перезавантажити або злитись на втрачене місце.
Четверте: Завжди подумайте, перш ніж використовувати -D або --force з git :)
Ви також можете прочитати цю хорошу дискусію про те, як відновитись від подібних помилок.
РЕДАКТУВАННЯ: До речі, не запускайте git gc
(або не дозволяйте йому запускатися самостійно - тобто не бігати git fetch
чи щось подібне), інакше ви можете втратити свої зобов’язання назавжди.
Дякую, це спрацювало.
git гілка new_branch_name
sha1
git checkout new_branch_name
// може бачити старі зареєстровані у файлах моєї старої гілки
Виконайте наступні кроки:
1: Введіть:
git reflog show
Тут буде відображено всю історію комісій, вам потрібно вибрати sha-1, який має останнє зобов’язання, яке ви хочете повернути
2: створіть ім'я гілки з обраним вами ідентифікатором Sha-1, наприклад: 8c87714
git branch your-branch-name 8c87714