24

Системы управления версиями (VCS). Знакомство с Git

Embed Size (px)

Citation preview

Page 1: Системы управления версиями (VCS). Знакомство с Git
Page 2: Системы управления версиями (VCS). Знакомство с Git

Системы управления версиями (VCS).

Знакомство с Git.

Дмитрий ОларескоInuits [email protected]

Page 3: Системы управления версиями (VCS). Знакомство с Git

VCS - зачем это нужно?

Page 4: Системы управления версиями (VCS). Знакомство с Git

Централизованные системы управления версиями

Распределённые системы управления версиями

Типы VCS.

Page 5: Системы управления версиями (VCS). Знакомство с Git

Централизованные системы управления версиями

Perforce Ubisoft, Google, NVIDIA,

Nikon CVS SVN

Apache, Python, PHP,

Ruby, Mono, FreeBSD,

Haiku, MediaWiki

Page 6: Системы управления версиями (VCS). Знакомство с Git

Распределённые системы управления версиями

Mercurial OpenOffice, Mozilla,

NetBeans, OpenSolaris Git

Linux, Android, Wine, Debian,

Drupal, jQuery, Chromium Bazaar

MySQL, GNOME for Java,

Emacs

Page 7: Системы управления версиями (VCS). Знакомство с Git

Знакомство с Git.

Слепки вместо патчей

Стандартный подход хранения изменений Подход Git

Page 8: Системы управления версиями (VCS). Знакомство с Git

Основная часть работы ведется локально Целостность данных (SHA-1 хэш) «Потерять» изменения практически

невозможно

Знакомство с Git.

Page 9: Системы управления версиями (VCS). Знакомство с Git

Ветвление, как основной принцип работы «Легкое» слияние (merge)

Знакомство с Git.

Page 10: Системы управления версиями (VCS). Знакомство с Git

git init git clone git add <file>

Git. Приемы работы.

dmitry@dmitry-laptop:~/gitpresentation/repo1$ git status# On branch master# Changed but not updated:# (use "git add <file>..." to update what will be committed)# (use "git checkout -- <filea>..." to discard changes in working directory)## modified: test.txt## Untracked files:# (use "git add <file>..." to include in what will be committed)## READMEno changes added to commit (use "git add" and/or "git commit -a")

Page 11: Системы управления версиями (VCS). Знакомство с Git

git commit [-a] [-m] git reset [--soft | --hard] git checkout <file> git revert <commit>

Page 12: Системы управления версиями (VCS). Знакомство с Git

git diff [--cached] git rm [-r] git log

Page 13: Системы управления версиями (VCS). Знакомство с Git

Git bisect

Page 14: Системы управления версиями (VCS). Знакомство с Git

$ git bisect start$ git bisect bad$ git bisect good v1.0Bisecting: 6 revisions left to test after this[ecb6e1bc347ccecc5f9350d878ce677feb13d3b2] error handling on repo

git bisect startgit bisect badgit bisect good <commit>

Page 15: Системы управления версиями (VCS). Знакомство с Git

git branch [-a] git checkout <branch> git checkout [-b] <branch> git merge <branch> git branch [-d]

Page 16: Системы управления версиями (VCS). Знакомство с Git

Git flow

Page 17: Системы управления версиями (VCS). Знакомство с Git

gitk

Page 18: Системы управления версиями (VCS). Знакомство с Git

gitg

Page 19: Системы управления версиями (VCS). Знакомство с Git

git stash list git stash show <stash> git stash drop <stash> git stash [pop | apply] <stash> git stash clear

$ git stash list

stash@{0}: WIP on master: 049d078 added the index file

stash@{1}: WIP on master: c264051... Revert "added file_size"

stash@{2}: WIP on master: 21d80a5... added number to log

git stash

Page 20: Системы управления версиями (VCS). Знакомство с Git

Merge conflict

Page 21: Системы управления версиями (VCS). Знакомство с Git

mergetool

Page 22: Системы управления версиями (VCS). Знакомство с Git

git-svn. hg-git

Page 23: Системы управления версиями (VCS). Знакомство с Git

Системы управления версиями (VCS).

Знакомство с Git.

Дмитрий ОларескоInuits [email protected]

Page 24: Системы управления версиями (VCS). Знакомство с Git