Skip to content

Instantly share code, notes, and snippets.

View JustATestName144's full-sized avatar

Viacheslav Kyrychenko JustATestName144

  • Donetsk
View GitHub Profile
@JustATestName144
JustATestName144 / new_file0
Last active January 10, 2018 09:16
Git. Create ssh key and add it to ssh-agent.
ssh-keygen -t rsa -b 4096 -C "[email protected]" - Generate new keypair.
eval $(ssh-agent -s) - run ssh agent.
ssh-add ~/.ssh/id_rsa - Add key to agent.
clip < ~/.ssh/id_rsa.pub - copy rsa key to clipboard.
@JustATestName144
JustATestName144 / new_file0
Created January 8, 2018 12:50
Git. Show remote url.
git remote -v
@JustATestName144
JustATestName144 / new_file0
Last active January 29, 2018 11:01
Git. Merge.
git merge development --no-ff
@JustATestName144
JustATestName144 / gist:648e6ecf431d0e4be424c49250c5bfc3
Created January 10, 2018 09:08
Git. Add changes to previous commit which not pushed yet.
git commit --amend
Пример команды: git log --oneline --graph
Скорее всего, вам уже доводилось использовать команду git log. У неё есть много полезных параметров, которые можно комбинировать друг с другом для достижения наилучшего результата. Чаще всего я использую эти:
--author="Alex Kras" — выводит коммиты, сделанные конкретным человеком
--name-only — выводит только названия изменённых файлов
--oneline — выводит сокращённые данные коммита (в виде одной строки)
--graph — выводит дерево зависимостей для всех коммитов
--reverse — выводит коммиты в обратном хронологическом порядке (сначала старые)
--after — выводит коммиты, сделанные после определённой даты
@JustATestName144
JustATestName144 / gist:aee80a240211e11a2646af3ed8ec9f06
Created January 10, 2018 09:14
Git. Merge with saving branch structure.
git merge --no-ff
Сброс позволяет откатиться на определённую версию в истории изменений Git. Всего есть три вида сброса:
git reset --hard {{some-commit-hash}} — вернуться на определённый коммит в истории. Все изменения, сделанные после этого коммита пропадут.
git reset {{some-commit-hash}} — вернуться на определённый коммит в истории. Все изменения, сделанные после этого коммита, получат состояние «Not staged for commit». Чтобы вернуть их обратно, нужно использовать команды git add и git commit.
git reset --soft {{some-commit-hash}} — вернуться на определённый коммит в истории. Все изменения, сделанные после этого коммита, получат состояние «Staged for commit». Чтобы вернуть их обратно, нужно использовать команду git commit.
Поналачу эта информация может показаться бесполезной, однако, когда вы начнёте работать с разными версиями файлов, она вам очень пригодится. Например, я для себя выделил вот такие сценарии использования этих команд:
@JustATestName144
JustATestName144 / gist:c0f42a49403d804923ae0414d0bed537
Created January 10, 2018 09:20
Git. Мягкая отмена коммитов.
Пример команды: git revert -n
Это очень удобная команда на тот случай, если вам нужно откатить последние пару коммитов, покопаться в изменениях и найти проблемное место.
Обычный git revert автоматически закоммитит те изменения, которые откатили, запросив у вас примечание к новому коммиту отката. Флаг "-n" говорит гиту, чтобы тот не переживал по поводу срочного коммита новых изменений, ведь мы хотим просто посмотреть на них.
git tag v1 - Add tag v1.
git tag - see all tags.
git reset . - for all files.
git reset filename for a single file.