Відмінності між версіями «Mercurial»
| (Не показано 4 проміжні версії 2 користувачів) | |||
| Рядок 15: | Рядок 15: | ||
repoclone — абсолютно идентичен repo в плане наполнения, однако в нём уже появился файл .hg/hgrc, в котором записано, что путь по умолчанию (для забирания и отдавания изменений) — это предыдущий repo: | repoclone — абсолютно идентичен repo в плане наполнения, однако в нём уже появился файл .hg/hgrc, в котором записано, что путь по умолчанию (для забирания и отдавания изменений) — это предыдущий repo: | ||
| − | Разворачивание | + | Разворачивание с удаленного сервера - клонировать с удаленной машины: |
| − | + | hg clone . ssh://192.168.0.100//home/project/ | |
| − | + | ||
| − | hg clone ssh://192.168.0.100//home/project/ | ||
[paths] | [paths] | ||
default = /home/andrew/repo | default = /home/andrew/repo | ||
| Рядок 44: | Рядок 43: | ||
== Работа через WEB == | == Работа через WEB == | ||
http://mercurial.selenic.com/wiki/HgWebDirStepByStep | http://mercurial.selenic.com/wiki/HgWebDirStepByStep | ||
| + | |||
| + | == Работа через ssh == | ||
| + | клиентская часть | ||
| + | сгенерируйте ppk file через PuTTYgen key.ppk | ||
| + | |||
| + | hg через ssh без ввода пароля. | ||
| + | %USERPROFILE%\mercurial.ini | ||
| + | [ui] | ||
| + | username = Igor Kremin <[email protected]> | ||
| + | #ssh = /usr/bin/ssh -i /home/me/.ssh/id_rsa-xyz -p 1234 | ||
| + | ssh="C:\path-to-plink\PLINK.EXE" -ssh -l <username> -i "c:\path-to-ssh-key\key.ppk" | ||
| + | Частный случай | ||
| + | |||
| + | ssh="C:\path-to-plink\PLINK.EXE" -ssh -l <username> -P #### -i "c:\path-to-ssh-key\key.ppk" | ||
| + | ssh = plink.exe -ssh -C -l username -P #### -i "C:/Program Files/PuTTY/Key Files/KyleKey.ppk" | ||
| + | |||
| + | == Работа через ssh == серверная часть | ||
| + | файл должен содержать публичный ключ | ||
| + | /<home-directory>/.ssh/authorized_keys | ||
Поточна версія на 13:52, 15 грудня 2013
Зміст
Основы работы
Для этого надо отредактировать конфигурационный файл, который находится в ~/.hgrc в случае *nix, и в %USERPROFILE%\mercurial.ini в случае Windows. Надо туда добавить пару строчек:
[ui] username = Alexander Solovyov <piranha@gtv>
Всё начинается с того, что мы создаём репозиторий:
hg init repo
Начать можно с добавления файлов и коммита первой ревизии:
cd repo echo "something" > read.me hg add hg ci -m "Initial revision"
Клонировать его:
hg clone repo repoclone
repoclone — абсолютно идентичен repo в плане наполнения, однако в нём уже появился файл .hg/hgrc, в котором записано, что путь по умолчанию (для забирания и отдавания изменений) — это предыдущий repo:
Разворачивание с удаленного сервера - клонировать с удаленной машины:
hg clone . ssh://192.168.0.100//home/project/
[paths] default = /home/andrew/repo
Посмотреть изменения:
~/repoclone>hg incoming ~/repoclone>hg outgoing
Команды incoming и outgoing показывают соответственно входящие (те, которых ещё нету в локальном репозитории) и исходящие (те, которых не хватает в удалённом репозитории) ревизии. Обратите внимание, что я не указывал путь к удалённому репозиторию — меркуриал в этом случае берёт его из пути по умолчанию (который можно увидеть раньше).
Сложившаяся ситуация подразумевает слияние — у нас появились две ветки разработки, значит пора применять merge:
Забираем изменения
~/repoclone>hg pull pulling from /home/andrew/repo ... added 1 changesets with 1 changes to 1 files (+1 heads) (run 'hg heads' to see heads, 'hg merge' to merge)
Cлияние
piranha@gtv ~/repoclone>hg merge 1 files updated, 0 files merged, 0 files removed, 0 files unresolved (branch merge, don't forget to commit) hg ci -m "merge"
Отдача обратно
hg push
Работа через WEB
http://mercurial.selenic.com/wiki/HgWebDirStepByStep
Работа через ssh
клиентская часть сгенерируйте ppk file через PuTTYgen key.ppk
hg через ssh без ввода пароля. %USERPROFILE%\mercurial.ini
[ui] username = Igor Kremin <[email protected]> #ssh = /usr/bin/ssh -i /home/me/.ssh/id_rsa-xyz -p 1234 ssh="C:\path-to-plink\PLINK.EXE" -ssh -l <username> -i "c:\path-to-ssh-key\key.ppk"
Частный случай
ssh="C:\path-to-plink\PLINK.EXE" -ssh -l <username> -P #### -i "c:\path-to-ssh-key\key.ppk"
ssh = plink.exe -ssh -C -l username -P #### -i "C:/Program Files/PuTTY/Key Files/KyleKey.ppk"
== Работа через ssh == серверная часть файл должен содержать публичный ключ
/<home-directory>/.ssh/authorized_keys