Git for experienced

2,759 views

Published on

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,759
On SlideShare
0
From Embeds
0
Number of Embeds
1,169
Actions
Shares
0
Downloads
14
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Git for experienced

  1. 1. Git для опытных пользователей<br />Слава Семушин,<br />web-разработчик в Новосибирске<br />vyacheslav.semushin@softline.ru<br />
  2. 2. Содержание<br /><ul><li>Настройка под себя
  3. 3. Игнорирование файлов
  4. 4. Редактирование и отмена коммитов
  5. 5. Разрешение конфликтов
  6. 6. Использование git stash
  7. 7. Использование хуков (hooks)
  8. 8. Полезные ссылки
  9. 9. Вопросы</li></li></ul><li>Настраиваем под себя<br /><ul><li>Где находится конфиг
  10. 10. .git/config
  11. 11. ~/.gitconfig
  12. 12. Как его изменить
  13. 13. git config
  14. 14. git config –global
  15. 15. в редакторе
  16. 16. Как посмотреть настройки
  17. 17. git config –list
  18. 18. Где почитать
  19. 19. man git-config</li></li></ul><li>Настраиваем под себя<br /><ul><li>Личная информация
  20. 20. git config --global user.name "Slava Semushin"
  21. 21. git config --global user.email "vyacheslav.semushin@softline.ru"
  22. 22. git config --global core.editor vim
  23. 23. Выделение цветом
  24. 24. git config --global color.branch auto
  25. 25. git config --global color.diff auto
  26. 26. git config --global color.status auto
  27. 27. Псевдонимы (aliases)
  28. 28. git config --global alias.statstatus
  29. 29. git config --global alias.switchcheckout
  30. 30. git config --global alias.pickcherry-pick</li></li></ul><li>Игнорирование файлов<br /><ul><li>.gitignore
  31. 31. рекурсивен
  32. 32. поддерживает простейшие регулярные выражения
  33. 33. Узнать больше можно в
  34. 34. man gitignore</li></li></ul><li>Изменение коммитов<br /><ul><li>Исправляем описание
  35. 35. git commit --amend
  36. 36. Откатываем коммит, но оставляем изменения
  37. 37. git reset --soft HEAD^
  38. 38. Откатываем коммит полностью
  39. 39. git reset --hard HEAD^
  40. 40. Откатываем «правильно»
  41. 41. git revert HEAD^
  42. 42. Ещё множество возможностей даёт
  43. 43. git rebase</li></li></ul><li>Как выглядит конфликт<br />
  44. 44. Как разрешается конфликт<br /><ul><li>Правим файл
  45. 45. Сообщаем о том, что конфликт исчерпан
  46. 46. git add
  47. 47. Коммитим
  48. 48. git commit</li></li></ul><li>Как принять одну из сторон во время конфликта<br /><ul><li>Диспозиция
  49. 49. git status
  50. 50. git diff –merge
  51. 51. Наша сторона (бранч в который мержим)
  52. 52. git diff --ours
  53. 53. git checkount --ours file
  54. 54. Другая сторона (бранч который мержим)
  55. 55. git diff --theirs
  56. 56. git checkout --theirs file</li></li></ul><li>Как автоматизировать разрешение конфликта<br /><ul><li>Активировать git rerere (REuse REcorded REsolution)
  57. 57. git config --global rerere.enabled 1
  58. 58. «Словить» конфликт
  59. 59. Разрешить его как обычно
  60. 60. Вдобавок есть
  61. 61. git rerere status
  62. 62. git rerere diff</li></li></ul><li>Прячем незакоммиченые изменения<br /><ul><li>Сохранить
  63. 63. gitstash save
  64. 64. Получить список сохранённых
  65. 65. git stash list
  66. 66. Применить последний
  67. 67. git stash pop
  68. 68. Ещё больше инфы в
  69. 69. man git-stash</li></li></ul><li>Работа с хуками<br /><ul><li>Где
  70. 70. .git/hooks/
  71. 71. Для чего
  72. 72. рассылка оповещений
  73. 73. проверка коммитов
  74. 74. Как использовать
  75. 75. скопировать
  76. 76. поправить
  77. 77. сделать исполняемым (chmod +x)
  78. 78. Множество подробностей есть в
  79. 79. man githooks</li></li></ul><li>По заявкам радиослушателей<br /><ul><li>Проблема с правами при push-е
  80. 80. umask
  81. 81. Обновление настроек после изменения remote
  82. 82. git config remote.origin.url <new-url>
  83. 83. Git Magick, “Приносим извинения, мы переехали”
  84. 84. Мульти push
  85. 85. http://stackoverflow.com/questions/5620525/git-pushing-to-two-repos-in-one-command</li></li></ul><li>Ссылки<br /><ul><li>Про git rebase (и не только)
  86. 86. http://kb.etersoft.ru/Работа_с_git
  87. 87. Как использовать git rerere
  88. 88. http://progit.org/2010/03/08/rerere.html
  89. 89. Удачная модель ветвления
  90. 90. http://habrahabr.ru/blogs/Git/106912/
  91. 91. Интерактивная шпаргалка с командами
  92. 92. http://www.ndpsoftware.com/git-cheatsheet.html</li></li></ul><li>Ещё вопросы?<br />

×