Intereting Posts
Git: Как я могу исключить определенные файлы из удаленной ветки и включить их в другую? Какую citeria вы используете, чтобы быстро определить, закончен или полезен проект github? Rebased Git, но изменения не вызваны? Apache Ant есть какой-либо способ получить сборку, чтобы игнорировать ошибки Получение ошибки транспорта при импорте проекта Android из GIT нужна помощь, нажимающая на github Git отклонился от восходящего потока, несмотря на то, что мои изменения слились Где находится файл конфигурации SVN в коде google? Я удалил файл из репозитория svn. но размер пространства для хранения одинаковый Как принять изменения слияния ветвей Git в нескольких файлах за один раз в Visual Studio Team Explorer? buildbot с использованием msysGit, вызывающий прерывистую ошибку datastreram Доля проекта Xcode между несколькими разработчиками Git получать / обновлять крючки и новые ветви Git фиксирует доступ к части репозитория git обязывает все ветви

Какой поток git лучше всего подходит для небольшой команды, где все разработчики работают над всеми проектами?

Мы небольшая команда из 5 разработчиков. Мы только что перешли из Subversion в Git и не смогли найти правильный рабочий процесс для нас.

Мы пытались с самого начала придерживаться рабочего процесса gitflow после успешной статьи модели ветвления git, но, откровенно говоря, это кажется ошеломляющим для небольших проектов, над которыми мы работаем, и некоторые из нас испытывают трудности, следуя за ним строго, поскольку он сильно отличается от модели subversion, которую мы использовал к.

Поэтому прямо сейчас мы не используем ветви выпуска, чтобы выпускать релизы, потому что это кажется ненужным, хотя мы делаем наш мастер чистым. Точно так же мы не используем ветви функций, а работаем напрямую над разработкой.

Я не уверен в выпусках, но я чувствую, что нам нужно использовать ветви функций, просто я не знаю, как с ними работать. В упомянутой статье, а также в других, которые мы читали, она рекомендует сохранять функции локально и раздавливать коммиты в них, прежде чем объединять их для разработки. Это выглядит просто, если в этой функции работает только один разработчик, но наш сценарий заключается в том, что любой человек в любой момент может захотеть / должен принять проект в текущем состоянии и продолжить работу над ним. Таким образом, проекты сильно меняют руки, и вся работа должна быть перенесена на сервер, даже если она еще не закончена, поэтому любой может потянуть ее и продолжить работу.

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

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

Вы можете продолжать работать с ветвями функций с небольшими коммитами и только rebase и / или squash их перед слиянием назад для develop ветки. От того, что на ветке функции не имеет никакого отношения, поэтому испортить ее историю не обязательно является проблемой.

  • создать ветвь функции
  • делать работу, фиксировать нажатие на функциональную ветвь
  • другие разработчики могут взять это и сделать больше работы
  • когда он будет готов, переформатировать, развить мелкие комки и слить их обратно

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

По моему опыту лучше всего стремиться к очень коротким ветвям с использованием функций. Таким образом, вы можете объединить обратно неполные, но не сломанные ветви функций, устраняющие огромную борьбу слиянием.

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

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