Skip to content
Java Online Projects edited this page Apr 25, 2017 · 109 revisions

Git

Правила работы с патчами на проекте

  • Как накатывать патчи есть в видео вступительного занятия Работа с проектом

  • Все изменения в проекте производятся только патчами из урока в ветке master, а cвой код (домашние задания) пишете только в ветках HWxx. Модификация кода в ветке master только через патчи в материалах урока (Apply Patch), иначе придется мержить код. Все патчи объязательны и применяются по порядку. Если при применении патча предлагается мердж, cмотрите: Patch не накатывается (предлагает merge) .

  • Делать Apply Patch лучше по одному, непосредственно перед видео на эту тему, а при просмотре видео сразу отслеживать все изменения кода проекта по изменению в патче (Version Control->Local Changes-> Ctrl+D на файле, Alt + Left/Right для просмотра следующего изменения):

image

  • После патча часто полезно запустить и посмотреть на работу приложения (если оно запускается).

  • Правило: Перед каждым изменением проверяйте что меняется: Ctrl+D по всем файлам ченджлиста. Если только пробелы - делайте revert.

Как вести проект (у себя в локальном проекте):

Вступительное занятие:

  • apply patch Prepare_to_HW0.patch
  • git commit/push

Домашнее задание HW0:

  • создать ветку HW0: в IDEA внизу справа + New Branch ->HW0 new_branch
  • выполняете Домашнее Задание (HW0), git commit/push
  • выполняете HW0 Optional, git commit/push

Урок 1:

  • переключаемся на master: в IDEA внизу справа Local Branches -> master -> checkout
  • apply все патчи урока Lesson01, git commit/push

Домашнее задание HW1:

  • создать ветку HW1: в IDEA внизу справа + New Branch ->HW1
  • выполняете HW1, git commit/push
  • выполняете HW1 Optional, git commit/push

Урок 2:

  • переключаемся на master: в IDEA внизу справа Local Branches -> master -> checkout
  • apply все патчи Lesson02, git commit/push
  • ...

Так должна выглядеть ваш Version Control -> Log: branch

Как откатить patch?

Version control -> Log Правой кнопкой на нужной ревизии -> Reset Current Branch to Here Soft- оставить все изменения, Hard - все затереть (в том числе локальные изменения) resetcurrentbranch

Если изменения уже запушили, то нужно их перетереть новым push с --force


Patch не накатывается (предлагает merge)

Вероятнее всего Ваша ветка master не соответствует моей. Нужно просто сравнить проблемный файл.

Например открываете проблемный класс на github в режиме Raw (кнопка справа вверху над классом, например https://raw.githubusercontent.com/JavaWebinar/topjava02/master/src/main/java/ru/javawebinar/topjava/web/meal/UserMealRestController.java, копируете его (Ctrl+A, Ctrl+C) и сравниваете со своим в IDEA: View->Compare with Clipboard.

В более общем случае (когда github уже ушел вперед) посмотреть содержимое файла для определенной версии в IDEA можно через Git->History на файле: idea_history или на истории изменений Version Control->Log idea_revision и двойном щелчке на файле.

Сравнивать можно в github с текущей версией проекта либо с соответствующей ревизией: github_revision


Сравнить содержимое можно скопировав содержимое из github в буфер: ![github_raw](https://cloud.githubusercontent.com/assets/13649199/10560439/304104e2-7514-11e5-9aea-16bf2466da83.png)

и сделать Compare with clipboard в IDEA: compare_with_clipboard

Если ваш файл совпадает с тем, что в репозитории и патч все равно не накатывается, напришите мне в личку- имя файла, номер патча и проблемные строки, я поправлю патч. Картинок с вашими ошибками слать НЕ НАДО, учимся грамотно определять и описывать проблему.


## Чем просматривать локально файлы в формате markdown ? - в IDEA, плагин **Markdown support** - в Chrome, плагин Markdown Preview (в опциях надо разрешить открывать файлы по ссылкам)

В spring-db.xml неактивные профили не становаться серыми

Проверьте image

Test_sidebar

Clone this wiki locally