При слиянии с главной веткой он объединяет файлы, которые уже слиты с главной веткой, через другую ветку.

Мастер ветка М Характеристика ветки 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 вопроса:

  1. Как открыть проект, который находится в репозитории git через PHPstorm. Это основная причина, чтобы показать все файлы как измененные
  2. Что неправильно я делаю в слиянии или есть какой-либо метод, чтобы просто объединить несколько файлов и выдвинуть только несколько файлов в основной ветке.

Взял ссылку из Как я могу объединить две ветви без потери файлов?

Обновили вопрос понятно

0