[英]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
所以我的合并冲突提交将包含所有与合并冲突本身无关的文件。
问题:
除了我为冲突而修改的文件之外,还可以提交所有这些不相关的文件吗?
是的。 事实上,这是必要的。 这就是合并。 你说git pull origin master
。 拉动是合并。 合并会带来来自另一个分支的更改。 这是正常的,而且是正确的——这是你想做的。
有没有办法让那些暂存的文件取消暂存,或者允许我只添加和提交我修改的文件?
不,你不应该。 你应该停止想要。 一切都很好。 不用担心; 当您提出拉取请求时,将作为拉取请求的一部分出现的唯一更改将是您的。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.