При слиянии филиалов Git автоматически удаляет код, который не следует удалять. В основном у нас есть два основных направления: MASTER и DEVELOP.Код удаления Git merge, который должен оставаться
- MASTER имеет наш код ПРОДУКЦИИ.
- DEVELOP имеет наш текущий сценарий разработки.
Все новые коды начинаются в других ветвях, которые обычно относятся к проблеме или новой функции. Проблема возникает, когда мы пытаемся объединить эту функцию или ветвь исправления в разработке.
Наша повседневная деятельность является: (текущая ветвь разработки):
git pull origin develop
git checkout -b some-feature.
Оба программисты добавить код и совершает (мы совершаем больше, чем один раз в день). В конце дня мы пытаемся объединить наши вещи. Во-первых, программист А делает толчок.
git add .
git commit -m 'last commit before push'
git checkout develop
git merge some-feature
git push develop
Проблем пока нет. Затем программист Б пытается сделать то же самое, но он должен сделать первый шаг!
git add .
git commit -m 'last commit before push'
git checkout develop
git merge some-feature-b
git pull origin develop
Git успешно извлекает и объединяет происхождение/развитие. Может возникнуть некоторый конфликт, никаких проблем с конфликтами. Наша проблема заключается в том, что Git удаляет код, который не следует удалять, и мы не имеем права говорить об этом.
Что мы делаем неправильно?
Был ли код удален в другой ветке? Git не удалит код без причины (ваши команды выглядят отлично) – knittl
Трудно сказать, не зная подробностей о том, что происходит в ветвях. Git будет не просто случайным образом удалять код в слияниях, если он не был удален в одном из объединенных ветвей. – Ikke
см. Может быть опция -force активирована по умолчанию см. Https://www.kernel.org/pub/software/scm/git/docs/git-push.html –