При слиянии с главной веткой он объединяет файлы, которые уже слиты с главной веткой, через другую ветку.
Мастер ветка М Характеристика ветки f1, f2, f3
M <-f1
M<-f2
M<-f3
git clone http://test.com/test.git git checkout M
Откройте файл в PHPstorm.Он попросил открыть проект. Нажал на подтверждение
git checkout -b f1
git status
# it shows all file as modified even only file1 is updated
Открыть нужный файл file1 сделал модификацию и сохранил ее
git commit file1 -m 'f1 branch'
git push
git checkout M
git merge f1
git log -1 --stat
показывает только 1 файл file1, он объединяет файл1 git push. Процесс выполняется правильно, но при попытке повторить то же самое с веткой f2. он объединяет file1 и file2, то же самое касается push, где я ошибаюсь. Но при каждом слиянии в master, он выталкивает файлы предыдущих веток
Шаг, где происходит актуальная проблема
git checkout -b f2
Откройте file2 в phpstorm, измените и сохраните файл
git status
Все файлы отображаются как измененные, тогда как только файл2 был фактически обновлен
git commit file2 -m 'test for f2'
git push
#push only file 2
git checkout M
git status
o/p Your branch M
your branch is ahead of 2 commits
git merge f2
#it merges file1 and file2
git push
#it pushes file1 and file2
Мои 2 вопроса:
- Как открыть проект, который находится в репозитории git через PHPstorm. Это основная причина, чтобы показать все файлы как измененные
- Что неправильно я делаю в слиянии или есть какой-либо метод, чтобы просто объединить несколько файлов и выдвинуть только несколько файлов в основной ветке.
Взял ссылку из Как я могу объединить две ветви без потери файлов?
Обновили вопрос понятно