繁体   English   中英

git pull origin master 导致暂存其他我什至没有修改的文件

[英]git pull origin master resulted in staging other files that I didn't even modify

FeatureA分支上工作时的一些观察和问题。

以下是我采取的初步步骤:

git checkout -b FeatureA
// modify X.c, Y.c, Z.c files
git add <modified files>
git commit -m <msg>
git push -u origin FeatureA // creates a PR for a merge into master

结果我看到了一些合并冲突。 还意识到我在推送之前没有更新本地存储库(我修改的文件最近被另一位开发人员修改并推送,因此我最终使用的是旧版本)

然后我在解决冲突之前继续获取最新更改

git pull origin master 

修改了有冲突的文件。 完毕。 运行git status发现还有很多其他文件暂存(我没有修改,可能是运行git pull origin master的结果)。

$ git status
All conflicts fixed but you are still merging.
  (use "git commit" to conclude merge)

Changes to be committed:

File1.c  // file I didn't modify
File2.c  // file I didn't modify
..
...
....
X.c     // file I modified 
Y.c     // file I modified 
Z.c     // file I modified 

所以我的合并冲突提交将包含所有与合并冲突本身无关的文件。

问题:

  1. 除了我为冲突而修改的文件之外,还可以提交所有这些不相关的文件吗? 我个人不这么认为,只是好奇
  2. 有没有办法让那些暂存的文件取消暂存,或者允许我只添加和提交我修改的文件?

除了我为冲突而修改的文件之外,还可以提交所有这些不相关的文件吗?

是的。 事实上,这是必要的。 就是合并。 你说git pull origin master 拉动是合并。 合并会带来来自另一个分支的更改。 这是正常的,而且是正确的——这是你想做的。

有没有办法让那些暂存的文件取消暂存,或者允许我只添加和提交我修改的文件?

不,你不应该。 你应该停止想要。 一切都很好。 不用担心; 当您提出拉取请求时,将作为拉取请求的一部分出现的唯一更改将是您的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM