Работа с git в Eclipse(EGit)

Материал из BiTel WiKi

(Различия между версиями)
Перейти к: навигация, поиск
(Новая страница: «== Создание репозитария и подключение к проекту == Нужен пакет git-core. 0. Установить egit в eclipse , …»)
(Заливка изменений)
Строка 35: Строка 35:
== Заливка изменений ==
== Заливка изменений ==
После разработки изменения в локальной ветке, чтобы внести её в основную одним каммитом можно применить следующий метод:
После разработки изменения в локальной ветке, чтобы внести её в основную одним каммитом можно применить следующий метод:
-
1. Пусть изменение разработано в ветке feature, а внести его нужно в ветку target.
+
# Пусть изменение разработано в ветке feature, а внести его нужно в ветку target.
-
2. Перейти в ветку target, сделать merge на неё ветки feature.
+
# Перейти в ветку target, сделать merge на неё ветки feature.
-
3. Сделать Reset Mixed ветки target в предыдущее состояние. При этом в ней возникнут все изменения, появившиеся после слияния.
+
# Сделать Reset Mixed ветки target в предыдущее состояние. При этом в ней возникнут все изменения, появившиеся после слияния.
-
4. Сделать каммит ветки target с изменениями.
+
# Сделать каммит ветки target с изменениями.
-
5. Ветка feature останется просто сбоку, в дальнейшем её необходимо удалить.
+
# Ветка feature останется просто сбоку, в дальнейшем её необходимо удалить.
Вообще в Git есть команда merge squash для подобной операции, но в плагине она пока не поддержана.
Вообще в Git есть команда merge squash для подобной операции, но в плагине она пока не поддержана.

Версия 03:40, 10 февраля 2014

Создание репозитария и подключение к проекту

Нужен пакет git-core. 0. Установить egit в eclipse , если не стоит . Install new software из " http://download.eclipse.org/egit/updates" . Поставить все, что предлагается

1. Ставим пакеты git git-core

2. В preferenses->Team->views->git убираем галочку relative dates.

3. В preferenses->Team->views->git->synchronize убираем галочку "Always run fetch... ".. Путает иначе, всегда вызыввает fetch. потому что используем pull всегда, а не fetch ..Это удобнее и нагляднее.. Чтобы это работало нормально лезем в конфиг .git/config и ставим там rebase = true для всех нужных веток.

4. Для транка, перейти в каталог проектов :

git clone ssh://git@git/~git/bgbilling.git <имя проекта транк>

5. В eclipse создаем java-проект с таким же именем( <имя проекта транк> ), в team делаем share project , там выбираем git, потом ставим галочку(use or create...) и со всем соглашаемся .

Если нужно создавать несколько проектов с разных веток одного репозитария, то понадобится утилита

sudo chmod 777 /usr/share/doc/git/contrib/workdir/git-new-workdir

При использовании этой утилиты проекты используют фактически один локальный GIT репозитарий и должны находиться рядом. Пример создания проектов для веток 5.1 и 5.2:

6. Перейти в каталог проектов:

/usr/share/doc/git/contrib/workdir/git-new-workdir <имя проекта транк> <имя проекта 5.1> 5.1  
/usr/share/doc/git/contrib/workdir/git-new-workdir <имя проекта транк> <имя проекта 5.2> 5.2

5. Проделываем 5-ый пункт для каждого из проектов.

Заливка изменений

После разработки изменения в локальной ветке, чтобы внести её в основную одним каммитом можно применить следующий метод:

  1. Пусть изменение разработано в ветке feature, а внести его нужно в ветку target.
  2. Перейти в ветку target, сделать merge на неё ветки feature.
  3. Сделать Reset Mixed ветки target в предыдущее состояние. При этом в ней возникнут все изменения, появившиеся после слияния.
  4. Сделать каммит ветки target с изменениями.
  5. Ветка feature останется просто сбоку, в дальнейшем её необходимо удалить.

Вообще в Git есть команда merge squash для подобной операции, но в плагине она пока не поддержана.

Личные инструменты