Наразі у нас є 2 розробники, які працюють над проектом і використовують Github та Github-клієнт для Windows.
Наші філії Github:
- магістр
- попередня продукція (клон від майстра)
- dev_1 (клон від майстра)
- dev_2 (клон від майстра)
Основна ідея - це 2 гілки для розвитку, які потім висуваються на попереднє виробництво і потім тестуються на сервері попереднього виробництва; тоді, коли все працює добре, підштовхують до майстра.
Я не впевнений, чи вказано вище правильний робочий процес, оскільки я досить новий в Git. У будь-якому випадку ми протестували робочий процес і зробили наступні кроки:
На машині Dev1
- Внесено зміни в локальний dev_1, синхронізований з віддаленим dev_1
- Об’єднано локальну програму dev_1 у локальну попередню продукцію (оскільки попередня продукція ще не змінилася)
- Синхронізована локальна попередня продукція з віддаленою попередньою продукцією.
- Об’єднано локальну попередню продукцію в локальну розробку_1
- Синхронізовано local_dev1 з віддаленим dev_1
На машині Dev2
- Внесено зміни в локальний dev_2, синхронізований з віддаленим dev_2
- Перемикається на локальну попередню продукцію та синхронізується з віддаленою попередньою продукцією
- Об’єднав локальний dev_2 у локальну попередню продукцію
- Синхронізована локальна попередня продукція з віддаленою попередньою продукцією
- Об’єднана локальна попередня продукція в локальну розробку_2
До цього моменту вона спрацювала чудово. Потім, коли ми намагалися об'єднати зміни, внесені dev2, у dev1, це не вдалося, синхронізуючи локальний dev_1 з віддаленим dev_1 (на кроці 5).
Оскільки ми новачок у Git, було б чудово допомогти.
Відповіді:
0 для відповіді № 1Ок, схоже, я знайшов відповідь на своє запитання.
На кроці 5 замість того, щоб намагатися "синхронізувати"local_dev та remote_dev, ми просто змусили натиснути на remote_dev. Ми можемо це зробити безпечно, оскільки local_dev буде мати останні зміни, а не віддалені.
Зробив це за допомогою команди нижче:
git push git_url local_branch: remote_branch
Сподіваюсь, це допомагає комусь.