在合并到主分支时,它会合并已通过不同分支合并到主分支的文件
主分支 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
我的两个问题:
- 如何通过 PHPstorm 打开 git 存储库下的项目。这是导致所有文件显示为已修改的主要原因吗
- 我在合并时做错了什么,或者有什么方法可以只合并几个文件并只在主分支中推送几个文件。
已经更新了问题是否清楚