2017-01-24 3 views
0

В настоящее время мы переходим от TFVC к управлению источником Git (в TFS), поэтому были некоторые боли. Для меня я привык иметь концепцию полки. Полка позволяет мне сделать быструю резервную копию на сервере TFS, не беспокоясь о том, что история/описание отображается в репозитории при включении/объединении в данную ветку. Поэтому я использую shelveset как резервный механизм, чтобы гарантировать, что копия моего текущего рабочего кода хранится на сервере каждый день, прежде чем я уйду (наше оборудование здесь было менее твердое).Рабочий процесс для Git

Теперь я хочу воспроизвести этот стиль рабочего процесса с помощью Git. Мне было рекомендовано использовать личную ветвь «feature» для фиксации/изменения текущей работы (WIP), а затем до интерактивного переадресации запроса запроса выполнить транзакционную историю, сжимающую коммиты. Это лучший способ сделать это? У меня проблема: я столкнулся с другой косвенной ошибкой, когда слияние в основных изменениях в середине WIP привело к кучке конфликтов переименования/удаления.

Для чего это стоит, мне сказали о тайнике, но везде, где я смотрю, указывает, что stash является только локальным, поэтому у меня не будет удаленной резервной копии. Если есть просто лучший рабочий процесс, чем в моих комментариях, то я все уши.

+1

Привет @Shawn, я узнал 'git' лет назад и сам, поэтому, я понимаю боль ... когда я нахожу кого-то в этой ситуации, я всегда рекомендую эту статью: https://themeteorchef.com/blog/defining -a-простой ГИТ-рабочий/#! – Hackerman

+0

Связано: [Возможно ли нажимать git stash в удаленный репозиторий?] (// stackoverflow.com/q/1550378/2747593) –

+0

Вы имеете в виду, что вы перенесли из TFVC в Git в TFS? –

ответ

0

Вы правы, что, когда вы не хотите совершать совершение полупроделанной работы, чтобы вы могли вернуться к этой точке позже, вы можете использовать команду git stash. Но у вас не будет удаленной резервной копии.

Поскольку вы хотите иметь удаленную резервную копию, создание новой ветки будет хорошим вариантом. Филиалы в Git очень легкие, поэтому создание, отталкивание и удаление с сервера очень просто и быстро. Если вы хотите, чтобы другие просмотрели ваш код, вы можете создать Pull Request, после слияния кода с главной ветвью, удалите эту ветку.

+0

Разве это не потребует повторного базирования/сжимания, чтобы получить историю до одного описания по сравнению со всеми описаниями в процессе работы до тех пор, пока исправление функции или исправления не будет завершено окончательной фиксацией? Если я понимаю вас, рекомендация заключается в том, чтобы следовать моему подходу к работе с веткой, подобной полке, которую вы также можете добавить, но проблема заключается в шаге rebase/squash. Может быть, просто нет пути вокруг этого с git. – Shawn

Смежные вопросы