4-й семестр / ЛК01
.pdfgitk
Работа с удалёнными репозиториями
●clone
●fetch
●pull
●push
git remote
$ git clone git://github.com/schacon/ticgit.git
Initialized empty Git repository in /private/tmp/ticgit/.git/ remote: Counting objects: 595, done.
remote: Compressing objects: 100% (269/269), done. remote: Total 595 (delta 255), reused 589 (delta 253)
Receiving objects: 100% (595/595), 73.31 KiB | 1 KiB/s, done. Resolving deltas: 100% (255/255), done.
$ cd ticgit $ git remote origin
$ git remote -v
bakkdoor git://github.com/bakkdoor/grit.git cho45 git://github.com/cho45/grit.git defunkt git://github.com/defunkt/grit.git koke git://github.com/koke/grit.git origin git@github.com:mojombo/grit.git
git fetch & pull & push
$ git fetch pb
remote: Counting objects: 58, done.
remote: Compressing objects: 100% (41/41), done. remote: Total 44 (delta 24), reused 1 (delta 0) Unpacking objects: 100% (44/44), done.
From git://github.com/paulboone/ticgit
* |
[new |
branch] |
master |
-> |
pb/master |
* |
[new |
branch] |
ticgit |
-> |
pb/ticgit |
$ git push -u origin master
●fetch — получить данные с remote
●pull — получить данные и слить изменения из удаленной ветки в вашу
●push — отправить данные в удаленный репозиторий
Метки
$ git tag v0.1
V1.3
●Легковесные метки — просто указатель на определённый коммит, который не изменяется
$git tag v1.2
●Аннотированные метки
$git tag -a v1.4 -m 'my version 1.4'
●Подписанные метки
$ git tag -s v1.5 -m 'my signed 1.5 tag'
$ git tag -a v1.2 -m 'version 1.2' 9fceb02 $ git push origin v1.2
$ git push origin --tags
Ветвления в Git
Ветвление в Git
●Коммит содержит:
–указатель на снимок состояния, записанный ранее
виндекс
–метаданные автора и комментария
–ноль и более указателей на коммиты, являющиеся прямыми предками этого коммита
●ноль предков для первого коммита
●один — для обычного коммита
●несколько — для коммита, полученного в результате слияния двух или более веток
Система хранения Git
●Данные репозитория с единственным коммитом:
–по одному блобу для содержимого каждого из файлов,
–одно дерево, в котором перечислено содержимое каталога и определено соответствие имён файлов и блобов,
–один коммит с указателем на тот самый объект-дерево для корня и со всеми метаданными коммита.
Система хранения Git
● Несколько коммитов:
Ветки в Git
●Ветка в Git’е — это легковесный подвижный указатель на один из этих коммитов