Category Archives: Version control
PhpStorm и git: добавить в свою ветку определенный коммит
Для этого в git существует cherry-pick. Как оно работает в PhpStorm http://www.jetbrains.com/phpstorm/webhelp/applying-changes-from-a-specific-commit-to-other-branches-cherry-picking.html
Git diverged
Если при пулле ветки в гите по git ststus пишет, что remote diverged и так далее (т.е. есть расхождения локального и удаленного репозитория), то надо удалить локальную ветку. git branch -d [название локальной ветки] Потом взять из origin заново git checkout origin [название ветки в репозитории] Альтернативный способ — применить злостный хак: git push origin …
Создание веток git-репозитория из PhpStorm
Нужно создать локальную ветку и запушить. Ссылки: http://www.jetbrains.com/phpstorm/webhelp/creating-a-new-branch.html http://www.jetbrains.com/phpstorm/webhelp/uploading-a-local-git-repository-push.html http://devnet.jetbrains.net/message/5455304?tstart=0
Работа с git в команде — gitflow
https://github.com/nvie/gitflow. Это надстройка над гитом, которая позволяет автоматизировать работу с репозиториями при обычной работе в коллективе. Ничего сверхъестественного — ветка develop, от которой отходят ветки features (и по завершении в неё мёржатся); ветки вида release/…, они создаются из девелопа для нового релиза; после релиза и тестов на проде он мёржится в master; также есть ветка …
Конвертирование проекта из SVN в Git
В fedora linux: $ sudo yum install git-svn $ cd ~/git-svn-repo $ git svn clone http://[url]/main/trunk/[source] $ git config svn.authorsfile ~/users $ git ~/git-svn-repo ~/git-repo $ cd ~/git-repo $ git remote set-url —push origin [name]@[site]:[repo] // gitorious@git.uncc:mosfm/mos-fm-site.git $ git push origin master После этого в ~/git-repo будет «чистый» git-репозиторий. Ссылки: http://www.johnclarkemills.com/2011/01/01/migrate-from-svn-to-git-with-history/ http://gitready.com/beginner/2009/02/04/converting-from-svn.html http://redlinesoftware.com/blog/2008/2/24/converting-subversion-repositories-to-git http://stackoverflow.com/questions/79165/how-to-migrate-svn-with-history-to-a-new-git-repository http://www.jonmaddox.com/2008/03/05/cleanly-migrate-your-subversion-repository-to-a-git-repository/ …
Конвертирование проекта из SVN в Mercurial
В fedora linux: $ sudo yum install mercurial $ cd ~/converted $ hg convert $ hg help extensions $ hg help config $ sudo nano /etc/mercurial/hgrc [—пишем—] [extensions] convert = $ hg convert http://[url]/main/trunk/source $ cd ~/hg-repo $ hg init $ hg clone ~/converted
Настройка TortoiseHg под Ubuntu
Настройки хранятся в файле ~/.hgrc [ui] merge = kdiff3 username = bullgare [extensions] extdiff = # для meld в качестве visual diff tool hgshelve=/path/to/hgshelve.py [extdiff] meld = # для meld в качестве visual diff tool #kdiff3 = kompare = [tortoisehg] authorcolor = True longsummary = True postpull = rebase vdiff = kompare editor = meld …
Работа в hg с rsa-ключом под linux
Нужно положить в папку ~/.ssh файл id_rsa (или id_dsa) со сгенерированным ключом. У меня был ключ, сгенерированный puttygen — для работы под windows. Для конвертации достаточно загрузить файл приватного ключа в puttygen и сконвертировать в нужный формат, после чего в linux положить этот файл в указанное место.