问题描述
假设这是我的项目结构:
- project
- .git
- scr
- component
- file.js
- 我确实克隆了项目
- 由
git checkout -b "newBranch"
创建了一个新分支 - 对
file.js
进行了一些更改 - 由
git add /scr/compoent/file.js
将其添加到舞台上 - 然后由
git commit -m "some changes"
提交
- 最后通过
git push origin newBranch
推送到服务器上
从我生命的开始到现在,我只使用 git add .
为舞台添加更改。几分钟前,我第一次使用了 git add file.js
。
在这些命令之后,我去了 GitLab interface -> Repasitory -> File -> newBranch
,我只看到了 file.js
。此外,通过单击 create merge request
发出合并请求,然后将其分配给我(我自己)并将 master
作为目标分支。合并后,项目结构变成了这样:
- project
- .git
- file.js //=> The file contains the changes
- scr
- component
- file.js //=> This file remained untouched
我的问题是,为什么将 file.js
粘贴到项目的根目录中?在这种情况下,我们如何对真实文件应用更改,而不是创建一个实例文件(包含更改)并将其定位在根目录上?
解决方法
这不应该发生。恕我直言,在使用“另存为...”而不是保存进行更改后,您已将 file.js
保存到根目录。
你的描述也有问题。 git add /scr/compoent/file.js
似乎是错误的,因为不应该有前导斜线,而且还有一个错字。
使用 git add scr/component/file.js
应该可以正常工作。
在顶级目录中使用 git add file.js
会将文件暂存到您可能错误创建的顶级目录中...
在添加和提交之前总是研究 git status
的输出...