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

3,443 views

Published on

Published in: Technology
2 Comments
4 Likes
Statistics
Notes
No Downloads
Views
Total views
3,443
On SlideShare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
27
Comments
2
Likes
4
Embeds 0
No embeds

No notes for slide

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. Спасибо за внимание Жду ваших вопросов Наконец-то он закончил ;-)

×