Tag Archives: SCM

Git colorizing

Доброго времени суток!
Хочу поделиться небольшим, так называемым tips-and-tricks, в использовании Git, а именно в настройке цветовой схемы.
Некоторое время назад я решился поставить на своем лаптопе Kubuntu, что далось мне не так уж и легко, будучи поколнником FreeBSD, но легкость и доступность актуальных версии приложений все таки сделало свое дело. Недостатком в FreeBSD для меня было отсутсвие новых сборок Eclipse, Google Chrome и т.д. Так как работать на Windows уже немного поднаскучило и в виду того, что разработка на работе ведется на Pair Station, то решил и поставил.
Собственно вышеперечисленное вводная предыстория на этом будет завершена.
Для своих “проектиков” я использую Git в качестве системы контроля версий, а именно его консольный вариант. На Windows я использую MsysGit, который мен вполне устраивает, но установив оригинальный Git для Linux, я столкнулся с нехваткой некоторых настроек, а именно цветовой схемы.
Решение было очень простым и как может показаться из этого поста малобуквенным;)
vi ~/.gitconfig
Далее необходимо добавить следующие строки.
[color]
        ui = auto
Этого же эффекта можно достигнуть с помошью следующей комманды.
git config --global color.ui auto
Теперь вы можете наслаждаться цветным выводом всех комманд.
Удачи

Git with Subversion in one place

Доброго времени суток.

Недавно столкнулся с необходимостью настроить новый проект для использования Git в качестве системы контроля версий. Задача была следующей, необходимо иметь дополнительный RSA ключ к основному и обеспечить работу с двумя разными удаленными репозиториями на одной машине, так же нужно учесть что до того как возникла текущая задача исходники проекта хостились в Subersion и нужно так же иметь и его поддрежку для тех, кто еще не перешел на Git.

Опять же как обычно Google рулит 😉 Погуглив, нашел статейку, которая очень помогла. Далее привожу последовательность моих действий.

Предполагается, что у вас уже имеется MsysGit и уже имеется небольшой опыт испоьзования Git.

Первоначально нужно создать RSA ключ для нового Git репозитория это делается следующим образом.

ssh-keygen -t rsa -C "ваш комментарий тут"

И на этом шаге нужно указать другой путь для ключа, например ~/.ssh/project2_id_rsa.

Затем делаем импорт исходников из Subersion в локальный Git репозиторий.

git svn clone http://svn.repo.hostname/trunk local_git_repo

Процесс клона должен пройти, пока он будет вытягивать все исходники мы можем приступить к настройке SSH. Нужно открыть файл в домащней директории пользователя, для Linux это ~/.ssh/config, для Windows – C:\Doc..and Settings\username\.ssh\config. Дописываем в этот файл следующие строчки

Host    project-git-repo-dev
          Hostname=remote-git-repo-host.com
          IdentityFile=~/.ssh/project2_id_rsa

Далее, после того как исходники импортятся в локальный Git репозиторий, нужно открыть файл в директории local_git_repo/.git/config и исправить имя хости удаленного Git репозитория на указанный в SSH конфиге.

[remote "origin"]
       #url = ssh://remote-git-repo-host.com/repo.git
       url = ssh://project-git-repo-dev/repo.git
       fetch = +refs/heads/*:refs/remotes/origin/*

Теперь у вас есть ключ для новогоGit репозитория, мирно существующий со старым.

Далее при изменениях в Subersion репозитории нужно будет выполнить следующие команды.

git svn rebase
git push

При изменениях в локальном Git

git add .
git commit -m "Some nice functionality was added"
git push
git svn rebase
git push
git svn dcommit #эта комманда создать ревизию для каждого комита в Git

Также иногда нужно выполнять следующую процедуру, если у вас есть локальные изменения, которые вы еще не хотите комитить, но хочете добавить в Subersion репозиторий ряд последних локальных комитов.

git stash 
git svn dcommit
git stash apply

На этом все, успехов.