我是Node.js&的新手。 NPM,我正在通过写一个网站&将它添加到Git上(它是公开的,但仅仅因为我不想为私人托管付费)。当我将文件推送到Github时,Git会自动忽略几乎与Node相关的每个文件,我无法弄清楚原因。具体来说,它似乎忽略了所有node_modules
个文件夹,Gruntfile.js
es和package.json
s。这是因为Git还是Node,还是我个人的虚拟举动?
当我执行git add -A
,git add .
或git add -u
时,所有这些都应该包括所有添加的&已删除的文件(我认为),然后使用git commit
或git commit -a
我得到这样的内容:
$ git commit -m "hopefully added all files"
On branch dev
Your branch is up-to-date with 'origin/dev'.
Untracked files:
.jshintrc
app/
libs/Gruntfile.js
libs/node_modules/.bin/_mocha
libs/node_modules/.bin/_mocha.cmd
libs/node_modules/.bin/mocha
etc.
nothing added to commit but untracked files present
我尝试在根文件夹中的任何位置搜索.gitignore
,但我找到的只是我的Bootstrap文件夹中的gitignore
文件(说起来,为什么会出现?),但如果我'我正确,那不应该影响上面的文件夹吗?它有node_modules的规则,但没有Gruntfile.js或package.json,当我评论它的所有规则时,文件仍被忽略。
这是一个子模块,因此它使用父项目的.git
文件夹。该父项目在其.git/info/exclude
中只有评论,但没有.gitignore
。其他子模块也没有.gitignore
。
为什么会发生这种情况?
编辑:git cherry
& git diff
都没有显示任何内容。 git status
显示:
$ git status
On branch dev
Your branch is up-to-date with 'origin/dev'.
Untracked files:
(use "git add <file>..." to include in what wi
libs/Gruntfile.js
libs/node_modules/.bin/_mocha
libs/node_modules/.bin/_mocha.cmd
libs/node_modules/.bin/mocha
libs/node_modules/.bin/mocha.cmd
libs/node_modules/grunt-contrib-compass/
etc.
nothing added to commit but untracked files present (use "git add" to track)
编辑2:这个网站是一个子模块,但我从未在超级项目或任何其他子模块上使用过.gitignore
或.git/info/exclude
。不过,这可能与问题有关吗?
编辑3:正如我所说,git add -A
,git add .
&amp; git add -u
永远不会从节点文件或文件夹中添加任何内容,而是添加单个文件和文件夹。文件夹呢。这使它更加怪异。
答案 0 :(得分:1)
如果我理解正确,你的项目git repo中包含子模块repo。你能试试这个工作流程吗?
cd project-repo
git submodule init
git submodule update
cd ../submodule-repo
git commit -a; git push
cd ../project-repo/submoduleDir
git pull
现在,您应该让父repo指向新的子模块修订版,当您转到project-repo时,您可以提交此更改(project-repo指向最新的子模块 - repo修订版)。
有关此主题的更多信息,请访问:
* http://git-scm.com/docs/git-submodule
* http://joncairns.com/2011/10/how-to-use-git-submodules/
希望它有所帮助。