Last active
January 13, 2022 20:26
-
-
Save dnclive/8399055 to your computer and use it in GitHub Desktop.
Git notes
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
http://www.prolinux.org/node/185 | |
http://gitready.com/advanced/2009/02/25/keep-either-file-in-merge-conflicts.html | |
# отменить не удачное слияние, например загрузку из orign не в ту ветку и тд | |
git reset --merge ORIG_HEAD | |
# отменить все текущие изменения до последнего комита в текущей ветке | |
git reset --hard HEAD | |
# временно перейти к комиту с хешем | |
git checkout 0d1d7fc32 | |
# взять в рабочий каталог файл/файлы по маске из коммита, возможно другой ветки | |
# если указать просто ветку то будет взят из head ветки | |
git checkout other-branch-name -- src/folder/src_file.rb | |
git checkout 93js0j020jgb -- src/folder/* | |
# создать новый комит такой же как третий назад от головы текущей ветки | |
git revert HEAD~3 | |
# применить к текущему состоянию изменения принятые комитами ветки мастер с 5 по 2 назад | |
git revert -n master~5..master~2 | |
# *** ПОИСК *** | |
# найти файл в любой ветке в любом коммите | |
git log --all -- somefile | |
# *** Работа с MERGE *** | |
# взять файлы из HEAD ветки branch в текущую ветку | |
git merge branch | |
# если при этом возникли конфликты то отменить начатое объединение можно так | |
git merge --abort | |
# техника theirs | |
# сливаем ветку branch в текущую при этом при конфликте файлы из другой нити в приоритете | |
1 | |
git merge branch | |
2 | |
# если нужно просто взять файлы файлы из ветки branch | |
git checkout --theirs путь/к/файлам | |
# взять свой файл | |
git checkout --ours index.html | |
# если конфликт - удалено в текущей ветке | |
git add новый/файл/из/ветки/branch | |
#если файл есть у нас но удален в branch remove конфликт - удаляем у себя | |
git rm файл | |
#когда все конфликты разрешены | |
git commit | |
# если сделать hard reset на предыдущий коммит или на несколько назад | |
# то все что были после него теряются | |
# невероятный гит позволяет восстановить потерянные комиты | |
#находит потерянные | |
git fsck --lost-found | |
# показывает инфу о найденных | |
git reflog | |
# применяем изменения к текущей позиции из указанного коммита | |
# чтобы восстановить последовательность применяем последовательно снизу вверх | |
# рабочий каталог должен быть чистым git stash в помощь | |
git cherry-pick 12944d8 | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment