2016-12-06 23 views
0

Если это глупый вопрос, пожалуйста, ударьте меня, но мне нужно пережить опыт.Как создать две ветви Git в одном репозитории из двух разных источников?

У меня есть код на двух разных серверах - это в основном производственные и dev-источники одного и того же приложения, но они не совсем одинаковы и не имеют той же истории, которые я унаследовал от кого-то, чьи стандарты/методы кодирования в основном не существует. Я создал репозиторий Git для производственного кода (master branch) и загрузил все. Счастливые дни, великие времена, все хорошо.

Теперь я хочу добавить код разработчика (от сервера dev) в тот же репозиторий, но как отдельную ветвь. Я читал git checkout --orphan <branch>, и похоже, что это может быть для меня вариантом, но я не уверен. Добавляю ли я удаленный доступ к текущему репо (с уже завершенным, обновленным и т. Д. Ведущим ветви) к «новому» git repo, который я инициализировал на сервере dev, вытащил сиротскую ветку, а затем просто git add -all и нажал на репо ? Будет ли добавлять origin из существующего беспорядка с файлами на сервере dev каким-либо образом?

Я очень доволен Git, но никогда не сталкивался с этой проблемой, и мой Google-foo не помог мне.

Ваша помощь/презрение будут оценены.

+0

'git branch' не имеет' --orphan'; вы имели в виду 'git checkout -orphan'? В любом случае '--orphan' является лишь частью имен ветки * (в той степени, в которой это должно быть), и в основном о том, как Git добавляет следующую * новую * фиксацию. Если вы планируете «сливать» два отдельных репозитория, '--orphan' совершенно бесполезен. Когда вы «git fetch» ​​фиксируются из какого-либо существующего репозитория, вы получаете такие коммиты, какие они есть. Commits * are * history (они не * имеют * историю, они * являются * историей), и вы не совершаете * new * коммит сейчас, а просто получаете существующую историю из другого Git. – torek

ответ

2

Да, вы можете использовать git checkout --orphan dev для его реализации, а затем использовать git add . и git push.

Но также есть другой способ, для информации (создать Dev репозиторий для DEV кода Dev отрасли, а затем вставьте его в производственный репо):

  1. Создать GIT репозиторий для разработчика код (разработка филиал)
  2. Bash в производстве репо, добавить Dev репо для дистанционного управления, используйте git remote add -f origin2 <URL for dev repo>
  3. git checkout origin2/dev
  4. git checkout –b dev
  5. git push origin dev
+0

Я чувствую себя таким глупым немым, что не думал об этом. Спасибо @ marina-msft – Francois

+0

+1 за то, что вы предложили другим способом, это гораздо более чистый способ слияния папок в новую ветвь существующего репо. – Tyler

0

Итак, из того, что я понимаю, у вас есть одна ветвь с производственным кодом (главная ветвь). Теперь вы хотите добавить код разработчика в тот же репозиторий. Если вы идете с --orphan, то первая фиксация будет иметь совершенно новую историю и не будет связана с какими-либо вашими фиксациями на главной ветке. Вы все еще можете продолжить это, но это может запутать.

Я бы порекомендовал просто создать новую ветку в вашем репо и добавить код разработчика в эту ветку. Он все равно будет присутствовать в вашем репозитории, но также отделен от основной ветви. Это должно держать вещи организованными.

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

  • Нет связанных вопросов^_^