Системы управления версиями (VCS).  Знакомство с Git. Дмитрий Олареско Inuits BVBA [email_address]
VCS - зачем это нужно?
<ul><ul><li>Централизованные системы управления версиями </li></ul></ul><ul><ul><li>Распределённые системы управления верс...
Централизованные системы управления версиями <ul><ul><li>Perforce </li></ul></ul><ul><ul><ul><li>Ubisoft, Google, NVIDIA, ...
Распределённые системы управления версиями <ul><ul><li>Mercurial </li></ul></ul><ul><ul><ul><li>OpenOffice, Mozilla, </li>...
Знакомство с Git. <ul><ul><ul><ul><ul><li>Слепки вместо патчей </li></ul></ul></ul></ul></ul>Стандартный подход хранения и...
<ul><ul><li>Основная часть работы ведется локально </li></ul></ul><ul><ul><li>Целостность данных (SHA-1 хэш) </li></ul></u...
<ul><ul><li>Ветвление, как основной принцип работы </li></ul></ul><ul><ul><li>«Легкое» слияние (merge) </li></ul></ul>Знак...
<ul><ul><li>git init </li></ul></ul><ul><ul><li>git clone </li></ul></ul><ul><ul><li>git add  <file> </li></ul></ul>Git. П...
<ul><ul><li>git commit  [-a] [-m] </li></ul></ul><ul><ul><li>git reset  [--soft | --hard] </li></ul></ul><ul><ul><li>git c...
<ul><ul><li>git diff  [--cached] </li></ul></ul><ul><ul><li>git rm  [-r] </li></ul></ul><ul><ul><li>git log </li></ul></ul>
Git bisect
$ git bisect start $ git bisect bad $ git bisect good v1.0 Bisecting: 6 revisions left to test after this [ecb6e1bc347ccec...
<ul><li>git branch  [-a] </li></ul><ul><li>git checkout  <branch> </li></ul><ul><li>git checkout  [-b] <branch> </li></ul>...
Git flow
<ul><li>gitk </li></ul>
<ul><li>gitg </li></ul>
<ul><li>git stash  list </li></ul><ul><li>git stash  show <stash> </li></ul><ul><li>git stash  drop <stash> </li></ul><ul>...
Merge conflict
mergetool
git-svn. hg-git
Полезные ссылки. <ul><ul><li>http://www.youtube.com/watch?v=4XpnKHJAok8 </li></ul></ul><ul><ul><li>http://proft.me/2010/10...
Системы управления версиями (VCS).  Знакомство с Git. Дмитрий Олареско Inuits BVBA [email_address]
 
Upcoming SlideShare
Loading in …5
×

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

2,586 views

Published on

Published in: Education
  • Be the first to comment

  • Be the first to like this

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

  1. 2. Системы управления версиями (VCS). Знакомство с Git. Дмитрий Олареско Inuits BVBA [email_address]
  2. 3. VCS - зачем это нужно?
  3. 4. <ul><ul><li>Централизованные системы управления версиями </li></ul></ul><ul><ul><li>Распределённые системы управления версиями </li></ul></ul>Типы VCS.
  4. 5. Централизованные системы управления версиями <ul><ul><li>Perforce </li></ul></ul><ul><ul><ul><li>Ubisoft, Google, NVIDIA, </li></ul></ul></ul><ul><ul><ul><li>Nikon </li></ul></ul></ul><ul><ul><li>CVS </li></ul></ul><ul><ul><li>SVN </li></ul></ul><ul><ul><ul><li>Apache, Python, PHP, </li></ul></ul></ul><ul><ul><ul><li>Ruby, Mono, FreeBSD, </li></ul></ul></ul><ul><ul><ul><li>Haiku, MediaWiki </li></ul></ul></ul>
  5. 6. Распределённые системы управления версиями <ul><ul><li>Mercurial </li></ul></ul><ul><ul><ul><li>OpenOffice, Mozilla, </li></ul></ul></ul><ul><ul><ul><li>NetBeans, OpenSolaris </li></ul></ul></ul><ul><ul><li>Git </li></ul></ul><ul><ul><ul><li>Linux, Android, Wine, Debian, </li></ul></ul></ul><ul><ul><ul><li>Drupal, jQuery, Chromium </li></ul></ul></ul><ul><ul><li>Bazaar </li></ul></ul><ul><ul><ul><li>MySQL, GNOME for Java, </li></ul></ul></ul><ul><ul><ul><li>Emacs </li></ul></ul></ul>
  6. 7. Знакомство с Git. <ul><ul><ul><ul><ul><li>Слепки вместо патчей </li></ul></ul></ul></ul></ul>Стандартный подход хранения изменений Подход Git
  7. 8. <ul><ul><li>Основная часть работы ведется локально </li></ul></ul><ul><ul><li>Целостность данных (SHA-1 хэш) </li></ul></ul><ul><ul><li>«Потерять» изменения практически невозможно </li></ul></ul>Знакомство с Git.
  8. 9. <ul><ul><li>Ветвление, как основной принцип работы </li></ul></ul><ul><ul><li>«Легкое» слияние (merge) </li></ul></ul>Знакомство с Git.
  9. 10. <ul><ul><li>git init </li></ul></ul><ul><ul><li>git clone </li></ul></ul><ul><ul><li>git add <file> </li></ul></ul>Git. Приемы работы. dmitry@dmitry-laptop:~/gitpresentation/repo1$ git status # On branch master # Changed but not updated: # (use &quot;git add <file>...&quot; to update what will be committed) # (use &quot;git checkout -- <filea>...&quot; to discard changes in working directory) # # modified: test.txt # # Untracked files: # (use &quot;git add <file>...&quot; to include in what will be committed) # # README no changes added to commit (use &quot;git add&quot; and/or &quot;git commit -a&quot;)
  10. 11. <ul><ul><li>git commit [-a] [-m] </li></ul></ul><ul><ul><li>git reset [--soft | --hard] </li></ul></ul><ul><ul><li>git checkout <file > </li></ul></ul><ul><ul><li>git revert <commit> </li></ul></ul>
  11. 12. <ul><ul><li>git diff [--cached] </li></ul></ul><ul><ul><li>git rm [-r] </li></ul></ul><ul><ul><li>git log </li></ul></ul>
  12. 13. Git bisect
  13. 14. $ git bisect start $ git bisect bad $ git bisect good v1.0 Bisecting: 6 revisions left to test after this [ecb6e1bc347ccecc5f9350d878ce677feb13d3b2] error handling on repo <ul><ul><li>git bisect start </li></ul></ul><ul><ul><li>git bisect bad </li></ul></ul><ul><ul><li>git bisect good <commit> </li></ul></ul>
  14. 15. <ul><li>git branch [-a] </li></ul><ul><li>git checkout <branch> </li></ul><ul><li>git checkout [-b] <branch> </li></ul><ul><li>git merge <branch> </li></ul><ul><li>git branch [-d] </li></ul>
  15. 16. Git flow
  16. 17. <ul><li>gitk </li></ul>
  17. 18. <ul><li>gitg </li></ul>
  18. 19. <ul><li>git stash list </li></ul><ul><li>git stash show <stash> </li></ul><ul><li>git stash drop <stash> </li></ul><ul><li>git stash [pop | apply] <stash> </li></ul><ul><li>git stash clear </li></ul><ul><li>$ git stash list </li></ul><ul><li>stash@{0}: WIP on master: 049d078 added the index file </li></ul><ul><li>stash@{1}: WIP on master: c264051... Revert &quot;added file_size&quot; </li></ul><ul><li>stash@{2}: WIP on master: 21d80a5... added number to log </li></ul><ul><ul><li>git stash </li></ul></ul>
  19. 20. Merge conflict
  20. 21. mergetool
  21. 22. git-svn. hg-git
  22. 23. Полезные ссылки. <ul><ul><li>http://www.youtube.com/watch?v=4XpnKHJAok8 </li></ul></ul><ul><ul><li>http://proft.me/2010/10/17/spravochnik-po-git-i-mercurial/ </li></ul></ul><ul><ul><li>http://drupal.org/node/783086 </li></ul></ul><ul><ul><li>http://githowto.com/ </li></ul></ul><ul><ul><li>http://progit.org/book/ru/ </li></ul></ul>
  23. 24. Системы управления версиями (VCS). Знакомство с Git. Дмитрий Олареско Inuits BVBA [email_address]

×