Крики из зала
Очень часто в сети можно услышать/прочитать, что git сложнее, чем
"правильные" dvc. Цель данного поста не заставить читателей переходить
на git, а показать, что в повседневном использовании он ничем не
отличается от других систем контроля версий.
"правильные" dvc. Цель данного поста не заставить читателей переходить
на git, а показать, что в повседневном использовании он ничем не
отличается от других систем контроля версий.
Рассмотрим наиболее используемые команды. Эти комманды я ввожу
десяток раз на день (если не чаще), как и многие другие
пользователи. Я не вижу смысла сравнивать по редко используемые или
Создаем репозиторий
git
git init reponame
hg
hg init reponame
bzr
bzr init reponame
Для bzr есть возможность создания shared-репозитория. Он нужен для
того, чтобы экономилось дисковое пространство и быстрее работал сам bzr.
bzr init-repo reponame
commit
Операции подтверждения изменений является наиболее часто используемой
мною (да, пожалуй, большинством тоже).
мною (да, пожалуй, большинством тоже).
git
git commit -m "Commit message" filename
или, если есть алиас ci=commit
git ci -m "Commit message" filename
Так же, можно закомитить все изменения врабочей директории:
git ci -a -m "Commit message"
hg
hg ci -m "Commit message" filename
Или для подтверждения всех изменений
hg ci -m "Commit message"
bzr
bzr ci -m "Commit message" filename
Или для подтверждения всех изменений
bzr ci -m "Commit message"
Создаем ветку
git
git branch branchname
или так: создаем ветку и сразу на нее переключаемся.
git checkout -b branchname
У меня, да и у мнгоих пользователей git, есть alias на эту команду,
поэтому можно и так:
git co -b branchname
Чтобы переключиться между веткми, нужно использовать такую команду:
git co branchname
hg
hg branch branchname
Чтобы переключиться между веткми, нужно использовать такую команду:
hg co branchname
bzr
bzr branch oldbranch branchname
Дело в том, что в bzr каждая ветка находится в отдельном каталоге (я
знаю, что есть и gitlike ветки.) и нужно указывать ветку, от которой
идет ответвление.
Чтобы переключиться между веткми, нужно использовать такую команду:
cd path/to/branch
Переход к нужному коммиту
Git не нумерует коммиты цифрами, и использует для этого хешь. Так же,
в нем нельзя просто так обновиться для определенного коммита, а нужно
создать ветку.
в нем нельзя просто так обновиться для определенного коммита, а нужно
создать ветку.
git
git checkout -b newbranch hash
В качестве hash выступает первые пять символов хеша.
hg
hg up -r rev
bzr
Я порылся в сети, но не нашел, как это сделать. Но подозреваю, что не
сложней чем в hg/git. Если кто знает - пусть напишет в комментариях.
сложней чем в hg/git. Если кто знает - пусть напишет в комментариях.
Как видно, разницы нет никакой. Есть и более сложные команды, которые
одинаково сложны как в hg/bzr так и в git (например cherry-pick), но
это общая беда :)
Комментариев нет:
Отправить комментарий