Основные тезисы выступления:
- организация репозитория,
- ветвление,
- базовые команды,
- работа в одиночку и в команде.
После выступления прошла бурная дискуссия, обмен опытом и приятное общение с профессионалами.
8. Я изменил файл и добавил новый?
Что делать?
git status
# On branch master
# Changes to be committed:
# (use "git reset HEAD <file>..." to unstage)
#
# modified: first.txt
# new file: second.txt
#
9. Зафиксируем изменения
git commit -a -m "Добавил второй файл."
[master e951bad] Добавил второй файл.
2 files changed, 2 insertions(+), 0 deletions(-)
create mode 100644 second.txt
10. И это все?
Я просто отмечаю изменения, которые сделал,
чтобы в один момент к ним вернуться?
Вся сила в ветках
11. Мой сайт уже 6 месяцев работает стабильно, зачем...
Бля-я-я, что-то сломалось.
Что делать, ведь я уже внес столько изменений?
25. Я обнаружил, что случайно
удалил важный файл 10 коммитов назад.
Что делать?
git checkout HEAD~10 важный_файл
26. Ок, релиз готов, как мне его залить на сайт?
Скопировать весь репозиторий?
git diff HEAD~1 > update.patch
patch -p1 < update.patch
git archive -o update.zip HEAD
$(git diff --name-only HEAD~1)
27. Мы наняли еще одного программиста
Вариант 1. Равноправный доступ.
Новый разработчик копирует ваш репозиторий
git clone /home/username/project myrepo
git clone ssh://user@somehost:port/~user/repository
git clone git://user@somehost:port/~user/repository/project.git
29. Новый разработчик написал новую фичу.
Но ветка master его репозитория уже отличается
от ветки master центрального.
git checkout master
git pull
git merge new-feature
git push
30. Мы наняли еще одно программиста-
стажера и не можем дать ему доступ на
изменение главного репозитория
31. Мы наняли удаленного верстальщика.
Хранить главный репозиторий
на моей машие уже неудобно.