Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Git для продолжающих Иван Евтухович
Оверсан-Скалакси scalaxy.ru О докладчике
План работ <ul><li>Настройки
Работа с ветками
Внесение изменений
Бонус </li></ul>
~/.gitconfig [user] email = evtuhovich@gmail.com name = Ivan Evtukhovich [color] ui = auto [alias] st = status ci = commit...
.git/config [remote &quot;origin&quot;] url = git@trionet.ru:railsclub.ru fetch = +refs/heads/*:refs/remotes/origin/* [bra...
.git/config [push] default = current <ul><li>current – в ветку с таким же именем
matching (по-умолчанию) – все ветки с совпадающими именами
tracking – текущую ветку в ее upstream </li></ul>
Называйте ветки локально так же, как на удаленном сервере
.gitignore log/* tmp/* .idea db/*.sqlite3 db/schema.rb <ul><li>.git / info / exclude </li></ul>
Где почитать? <ul><li>man gitignore
man git-config </li></ul>
Работа с ветками
git checkout <ul><li>git checkout -b new_branch
git checkout --track origin/new_branch
git checkout <commit-id> -- <path to file>
git checkout ./ </li></ul>
git cherry-pick git cherry-pick <commit-id>
git cherry git cherry release master -v + <commit-id> Добавил отсылку письма  - <commit-id> Размер рута из конфига. + <com...
git rebase git rebase -i master pick  414649e  Bridge по-умолчанию  pick  3341985  Zabbix trouble pick  fd6f679  Из массив...
git rebase master feature feature2 (*)
git rebase --onto master feature feature2 master feature
Сложный перенос? А если надо перенести много коммитов из одной ветку в другую?
Объединим 2 приема master (copy) release git co master git co -b copy git rebase --onto release <blue-id> copy -i git co r...
Продолжение master release copy git co release git merge copy
Внесение изменений HEAD Index Working directory
git status # On branch master # Changes to be committed: #  (use &quot;git reset HEAD <file>...&quot; to unstage) # # modi...
git add ./ Обычно делают так: git add ./ git commit -a -m”Какой красивый фикс” А если изменений много?
git add -e <ul>@@ -1,5 +1,7 @@ +Вот самый первый кусок текста  qwrety  qwrety  qwrety  qwrety  qwrety +А здесь еще одни ку...
Upcoming SlideShare
Loading in …5
×

Git для продолжающих

3,523 views

Published on

Published in: Technology

Git для продолжающих

  1. 1. Git для продолжающих Иван Евтухович
  2. 2. Оверсан-Скалакси scalaxy.ru О докладчике
  3. 3. План работ <ul><li>Настройки
  4. 4. Работа с ветками
  5. 5. Внесение изменений
  6. 6. Бонус </li></ul>
  7. 7. ~/.gitconfig [user] email = evtuhovich@gmail.com name = Ivan Evtukhovich [color] ui = auto [alias] st = status ci = commit co = checkout
  8. 8. .git/config [remote &quot;origin&quot;] url = git@trionet.ru:railsclub.ru fetch = +refs/heads/*:refs/remotes/origin/* [branch &quot;master&quot;] remote = origin merge = refs/heads/master
  9. 9. .git/config [push] default = current <ul><li>current – в ветку с таким же именем
  10. 10. matching (по-умолчанию) – все ветки с совпадающими именами
  11. 11. tracking – текущую ветку в ее upstream </li></ul>
  12. 12. Называйте ветки локально так же, как на удаленном сервере
  13. 13. .gitignore log/* tmp/* .idea db/*.sqlite3 db/schema.rb <ul><li>.git / info / exclude </li></ul>
  14. 14. Где почитать? <ul><li>man gitignore
  15. 15. man git-config </li></ul>
  16. 16. Работа с ветками
  17. 17. git checkout <ul><li>git checkout -b new_branch
  18. 18. git checkout --track origin/new_branch
  19. 19. git checkout <commit-id> -- <path to file>
  20. 20. git checkout ./ </li></ul>
  21. 21. git cherry-pick git cherry-pick <commit-id>
  22. 22. git cherry git cherry release master -v + <commit-id> Добавил отсылку письма - <commit-id> Размер рута из конфига. + <commit-id>Task #14067 - <commit-id> Отдаем информацию в json
  23. 23. git rebase git rebase -i master pick 414649e Bridge по-умолчанию pick 3341985 Zabbix trouble pick fd6f679 Из массива цен берем slots - 1 squash 0dbba34 Баг с ценами
  24. 24. git rebase master feature feature2 (*)
  25. 25. git rebase --onto master feature feature2 master feature
  26. 26. Сложный перенос? А если надо перенести много коммитов из одной ветку в другую?
  27. 27. Объединим 2 приема master (copy) release git co master git co -b copy git rebase --onto release <blue-id> copy -i git co release git merge copy
  28. 28. Продолжение master release copy git co release git merge copy
  29. 29. Внесение изменений HEAD Index Working directory
  30. 30. git status # On branch master # Changes to be committed: # (use &quot;git reset HEAD <file>...&quot; to unstage) # # modified: 2.txt # # Changed but not updated: # (use &quot;git add <file>...&quot; to update what will be committed) # (use &quot;git checkout -- <file>...&quot; to discard changes in working directory) # # modified: 1.txt # # Untracked files: # (use &quot;git add <file>...&quot; to include in what will be committed) # # 1.html # 2.html
  31. 31. git add ./ Обычно делают так: git add ./ git commit -a -m”Какой красивый фикс” А если изменений много?
  32. 32. git add -e <ul>@@ -1,5 +1,7 @@ +Вот самый первый кусок текста  qwrety  qwrety  qwrety  qwrety  qwrety +А здесь еще одни кусок </ul><ul><li>git add -e — откроет diff в вашем любимом редакторе vim </li></ul>
  33. 33. git add <ul><li>git add -i — для интерактивного режима
  34. 34. git add -p — для добавления изменений по частям </li></ul>
  35. 35. git commit <ul><li>git commit -m”Message”
  36. 36. git commit --amend
  37. 37. git commit -a -m”Message” </li></ul>
  38. 38. Галлопом <ul><li>git reset
  39. 39. git revert
  40. 40. git clean
  41. 41. git stash
  42. 42. git bisect
  43. 43. git svn, cvs и другие
  44. 44. git blame
  45. 45. git grep
  46. 46. git log – 100500 форматов </li></ul>
  47. 47. Галлопом 2 <ul><li>Графические клиенты </li><ul><li>gitg — я пользуюсь
  48. 48. gitk
  49. 49. giggle </li></ul><li>vim-fugitive для Vim
  50. 50. egit для Eclipse (0.9 unstable) (использует jgit) </li></ul>
  51. 51. И в заключении <ul><li>http://github.com — любовь навсегда
  52. 52. http://gitorious.com/  — удобно внутри компании </li></ul>
  53. 53. Что читать? <ul>man git-<command> </ul>
  54. 54. Что читать еще? <ul><li>Официальный сайт http://git-scm.com/
  55. 55. Git Community Book http://book.git-scm.com/
  56. 56. Pro Git http://progit.org/ </li></ul>
  57. 57. Лучший способ что-то узнать? Практика Предпоследний слайд
  58. 58. Спасибо за внимание Жду ваших вопросов Наконец-то он закончил ;-)

×