Filter by tag: git
  • Удаление паролей из истории Git2 min read

    Great Scott!
    Great Scott!

    Почему это важно?

    Любая система хранения версий кода создана с целью сохранения всех изменений проекта за всю историю его существования и (следует признать) любая система хранения версий справляется с этим отлично. Поэтому будьте уверены, если когда-то в вашем коде промелькнул пароль, токен или ключ — он не пропадет в тот момент, когда вы уберете его из актуального кода и злоумышленник сможет получить к нему доступ тогда, когда все уже забудут про сам факт существования важной информации в каком-то старом коммите.

    Continue   
  • Миграция с Mercurial на Git1 min read

    migration
    migration

    Иногда возникает необходимость продолжать работу над старыми проектами, в которых могут использоваться устаревшие системы версий — например, mercurial или, боже упаси, svn. К счастью, для перехода с mecurial на git не требуется начинать проект с чистого листа и терять историю изменений, есть утилита, которая всё сделает для нас сама.

    cd
    git clone git://repo.or.cz/fast-export.git
    git init git_repo
    cd ~/git_repo
    ~/fast-export/hg-fast-export.sh -r ~/mercurial-repo
    git checkout HEAD

    В итоге, в текущей папке мы получим самый настоящий git.

    Continue   
  • Ветка git в командной строке1 min read

    Если активная работа над проектом идет над несколькими ветками сразу, всегда полезно знать, на какой ветке в текущий момент находится указатель HEAD репозитария. Чтобы не полагаться на память, можно добавить отображение названия ветки в приглашение командной строки. Для этого откроем на редактирование ~/.bashrc

    export PS1='\[email protected]\h: \w\[\033[01;33m\]$(__git_ps1) \$\[\033[00m\] '

    Любуемся результатом:

    5a64a2a385b4dgit

    Но, по хорошему, лучше просто поставьте zsh — оно того стоит.

    Continue   
  • Как вежливо попросить git напомнить о миграциях2 min read

    Иногда важно помнить о том, что вместе с апдейтом кода появилась и новая миграция, которую нужно бы не забыть запустить. Первый вариант — git merge-base и еще несколько полезных команд. Задачу это решает, но требует множества действий — есть простор для фантазии и автоматизации. Пускай git сам напоминает нам о новых миграциях!

    Continue   
  • Первичная настройка git1 min read

    Алиасы

    Получение статуса

    git config --global alias.st status
    git st

    Наглядный лог

    git config --global alias.lg "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit"
    git lg
    git lg -p

    Настройка пользователя

    git config --global user.name "Username"
    git config --global user.email "[email protected]"

    Добавим цвета

    git config --global color.branch auto
    git config --global color.diff auto
    git config --global color.interactive auto
    git config --global color.status auto
    Continue   
  • Как привести в порядок репозитарий3 min read

    Всегда приятно начинать проект с нуля, самому создавать под него репозитарий, определять принятый в нём стиль кодирования, да и многое другое. Но иногда нам достаются «трудные дети» с тяжелым прошлым, включающим мешанину табуляции и пробелов, разных способов обрыва строки, кодировок. Понятное дело, что все это приводит систему контроля версий к истерике. Но не беда. Linux to the rescue!

    Continue   
  • Актуальная версия Git на Ubuntu1 min read

    Добавляем репозиторий

    add-apt-repository ppa:git-core/ppa
    apt-get update
    apt-get install git-core

    Если в системе нет add-apt-repository, необходимо перед этим поставить еще один пакет

    sudo apt-get install python-software-properties

    Ура, у нас современная версия git!

    Continue