Давайте рассмотрим некоторые типичные ситуации, с которыми вы можете столкнуться при использовании git; ты поблагодаришь меня позже. 😉
Как вернуться к n-му коммиту?
- Используйте
git log
, чтобы найти хэш коммита N-го коммита. - Запустите
git checkout <commit-hash>
, чтобы проверить этот конкретный коммит. - Если вы хотите создать новую ветку, которая начинается с этой фиксации, запустите
git checkout -b <branch-name>
Как переместить определенные коммиты из ветки А в ветку Б?
- Используйте
git log
, чтобы найти хэш последнего коммита, который вы хотите переместить. - Беги
git checkout <branch-a>
- Запустите
git cherry-pick <last-commit-hash>
, чтобы применить последний коммит к текущей ветке. - Повторите команду cherry-pick для каждого коммита, который вы хотите переместить.
- Запустите
git checkout <branch-b>
в ветку оформления заказа B. - Запустите
git merge <branch-a>
, чтобы объединить изменения в ветку B. - Разрешите любые конфликты, которые могут возникнуть во время слияния. Вуаля, все готово!!
Как отправить коммит в новую ветку одной командой?
Обычно люди создают новую ветку, проверяют ее, выполняют git push
и настраивают вышестоящую ветку для отправки своих изменений на удаленный сервер.
Вместо этого вы можете запустить git push -u origin <new-branch-name>
, чтобы отправить локальные коммиты в текущей ветке на удаленный. Это так удобно, верно?
Как удалить все локальные ветки?
Иногда вы путаетесь с оставшимися ветвями и хотите очистить их все, если это так, запустите git branch | grep -v “main” | xargs git branch -D
, чтобы удалить все ветки, кроме основной.
Как переименовать ветку?
Когда-нибудь создавал ветку и хотел ее переименовать так как у вас опечатка, то эта команда для вас git branch -m <old-branch-name> <new-branch-name>
Как спрятать несколько изменений и получить эти изменения?
Чтобы спрятать несколько изменений в Git, вы можете просто использовать команду git stash несколько раз,
- Чтобы получить определенный тайник, вы можете использовать команду git stash apply с идентификатором тайника, а идентификатор тайника можно найти, выполнив команду
git stash list
. - Чтобы применить второй тайник в списке, вы можете запустить:
git stash apply stash@{1}
и это применит второй тайник и восстановит изменения в вашем рабочем каталоге. - Вы также можете спрятать свое имя, используя
git stash save -m “my-stash”
. Это создаст новый тайник с именем my-stash, который вы можете получить с помощьюgit stash apply stash@{my-stash}
Как создать патч в git?
Если вы когда-нибудь хотели скопировать свою работу, чтобы отправить ее кому-то еще, тогда git patch станет вашим другом.
git format-patch -1 <commit-hash>
создает файл исправления для конкретной фиксации- Чтобы применить патч, запустите
git apply <.patch file>
Как быть продуктивным в GIT?
- Используйте
.gitconfig
, чтобы максимизировать свою производительность в git, вы можете настроить gitconfig для персонализации команд git в соответствии с вашими потребностями, например, добавьте приведенную ниже конфигурацию в файл~/.gitconfig
, чтобы всегда выполнять перебазирование при извлечении коммитов с удаленного сервера.
[pull] rebase = true
- Если вы используете терминал oh-my-zsh, у вас будет возможность использовать псевдонимы git, такие как
gst
, что является сокращением отgit status
ga
дляgit add
. Есть много других псевдонимов команд, которые вы можете использовать для ссылки на эту замечательную шпаргалку.
Надеюсь, это было информативно, вот бесплатная шутка для вас: «Проблема с шутками о git в том, что у каждого есть своя версия». 😜
Справка: Сладкий Шарма