Git 合并到分支会合并来自先前合并分支的文件

Git 合并到分支会合并来自先前合并分支的文件

在合并到主分支时,它会合并已通过不同分支合并到主分支的文件

主分支 M 功能分支 f1,f2,f3

M <-f1
M<-f2
M<-f3

git 克隆http://test.com/test.git git 签出 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 -upstream f1
 git checkout M 
git merge f1 

git log -1 --stat

仅显示 1 个文件 file1 它合并 file1 git push。该过程正确完成,但尝试与分支 f2 合并时也一样。它合并 file1 和 file2 同样,推送也是如此,我做错了。但在 master 中的每次合并中,它都会推送以前的分支文件

实际发生问题的步骤

git checkout -b f2

在phpstorm中打开file2修改并保​​存文件

git status  

所有文件均显示为已修改,但实际上只有 file2 已更新

git commit file2 -m 'test for f2'
git push -upstream f2
#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 

我的两个问题:

  1. 如何通过 PHPstorm 打开 git 存储库下的项目。这是导致所有文件显示为已修改的主要原因吗
  2. 我在合并时做错了什么,或者有什么方法可以只合并几个文件并只在主分支中推送几个文件。

曾参考如何合并两个分支而不丢失任何文件?

已经更新了问题是否清楚

相关内容