Loading…

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

Like this presentation? Why not share!

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

on

  • 3,323 views

 

Statistics

Views

Total Views
3,323
Views on SlideShare
3,322
Embed Views
1

Actions

Likes
3
Downloads
24
Comments
2

1 Embed 1

http://a0.twimg.com 1

Accessibility

Categories

Upload Details

Uploaded via as OpenOffice

Usage Rights

CC Attribution-ShareAlike LicenseCC Attribution-ShareAlike License

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

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

  • Git для продолжающих Иван Евтухович
  • Оверсан-Скалакси scalaxy.ru О докладчике
  • План работ
    • Настройки
    • Работа с ветками
    • Внесение изменений
    • Бонус
  • ~/.gitconfig [user] email = evtuhovich@gmail.com name = Ivan Evtukhovich [color] ui = auto [alias] st = status ci = commit co = checkout
  • .git/config [remote "origin"] url = git@trionet.ru:railsclub.ru fetch = +refs/heads/*:refs/remotes/origin/* [branch "master"] remote = origin merge = refs/heads/master
  • .git/config [push] default = current
    • current – в ветку с таким же именем
    • matching (по-умолчанию) – все ветки с совпадающими именами
    • tracking – текущую ветку в ее upstream
  • Называйте ветки локально так же, как на удаленном сервере
  • .gitignore log/* tmp/* .idea db/*.sqlite3 db/schema.rb
    • .git / info / exclude
  • Где почитать?
    • man gitignore
    • man git-config
  • Работа с ветками
  • git checkout
    • git checkout -b new_branch
    • git checkout --track origin/new_branch
    • git checkout <commit-id> -- <path to file>
    • git checkout ./
  • git cherry-pick git cherry-pick <commit-id>
  • git cherry git cherry release master -v + <commit-id> Добавил отсылку письма - <commit-id> Размер рута из конфига. + <commit-id>Task #14067 - <commit-id> Отдаем информацию в json
  • git rebase git rebase -i master pick 414649e Bridge по-умолчанию pick 3341985 Zabbix trouble pick fd6f679 Из массива цен берем slots - 1 squash 0dbba34 Баг с ценами
  • 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 release git merge copy
  • Продолжение 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) # # 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
  • git add ./ Обычно делают так: git add ./ git commit -a -m”Какой красивый фикс” А если изменений много?
  • git add -e
      @@ -1,5 +1,7 @@ +Вот самый первый кусок текста  qwrety  qwrety  qwrety  qwrety  qwrety +А здесь еще одни кусок
    • git add -e — откроет diff в вашем любимом редакторе vim
  • git add
    • git add -i — для интерактивного режима
    • git add -p — для добавления изменений по частям
  • git commit
    • git commit -m”Message”
    • git commit --amend
    • git commit -a -m”Message”
  • Галлопом
    • git reset
    • git revert
    • git clean
    • git stash
    • git bisect
    • git svn, cvs и другие
    • git blame
    • git grep
    • git log – 100500 форматов
  • Галлопом 2
    • Графические клиенты
      • gitg — я пользуюсь
      • gitk
      • giggle
    • vim-fugitive для Vim
    • egit для Eclipse (0.9 unstable) (использует jgit)
  • И в заключении
    • http://github.com — любовь навсегда
    • http://gitorious.com/  — удобно внутри компании
  • Что читать?
      man git-<command>
  • Что читать еще?
    • Официальный сайт http://git-scm.com/
    • Git Community Book http://book.git-scm.com/
    • Pro Git http://progit.org/
  • Лучший способ что-то узнать? Практика Предпоследний слайд
  • Спасибо за внимание Жду ваших вопросов Наконец-то он закончил ;-)