2013-05-10 2 views
2

Работая над академическими исследованиями, я до сих пор не нашел хорошего рабочего процесса git для нашего проекта.git workflow в исследовательской среде

Окружение: У нас есть основной проект, который хранится в отделении. Когда появляется новая идея, создается новая ветвь для поддержки исследования. Как правило, существует несколько параллельных исследований по основному проекту, осуществляемому разными людьми.

Когда я работаю над исследовательской отраслью R (это может занять несколько месяцев, и многие коммиты). Некоторые из моих коммитов напрямую не связаны с исследованиями и не улучшают сам проект ... Я хочу подтолкнуть эти коммиты к мастерству отрасли (они могут быть полезны для других).

Как мне это сделать? Вишневый выбрать? Мне кажется, что после множества черешни (от большего количества людей и разных ветвей) будет сложно объединить ветвь R с мастером в конце.

Возможно, лучший вариант - переключиться на мастер перед фиксацией, совершить фиксацию, затем переключиться обратно и вытащить обновления из мастера. Но это, кажется, трудно, по трем причинам:

  1. Переключить на мастер не так просто, потому что многие файлы не совершаются в конфликте и т.д. (мне нужно использовать тайник как-то)
  2. Иногда я понимаю, позже, что я должен нажимать более старые фиксации из R на мастер.
  3. Иногда мне не нужны другие обновления от мастера от кого-то другого. Они будут полезны позже, но у меня нет времени, чтобы разобраться с ними на данный момент.

Каков правильный способ его выполнения?

ответ

1

Вы могли бы рассмотреть:

  • (на ветви R) git rebase --interactive: для того, чтобы изменить порядок коммиты, с одной вы хотите на master первым, за которым следуют одна специфика в R
  • (по отрасли master) merge SHA1 (правая SHA1 из последней фиксации вы хотите на master)

Но что изменит историю R отрасли, который может быть проблемой других, также клонировали его (вам нужно четко рассказать об этом событии, попросив их сбросить свою ветку R на новую, которую вы изменили и нажали).

+0

Хммм ... это может работать. Но разве это не хак? – Andrej

+0

@ Andrej no, переупорядочение ваших коммитов - обычная практика git, при условии, что другие, которые, возможно, клонировали эту ветвь, знают об этом переупорядочении. – VonC