初学者提问: Windows下的本地Node项目上传到GitHub发生的问题.
发布于 9 年前 作者 LonelyLiaR 7910 次浏览 最后一次编辑是 8 年前 来自 问答

不知各位大触是否知道 Chrome 的一个插件名为 livereload , 配合 Node.js 下的 livereload 模块. 可以在修改保存源代码的同时刷新页面. 省下了按 Alt + Tab * n + F5 Refrash 重置页面的步骤. 对于愚这种初学者是极其好用 , 加快了学习和开发的速度.

但是 ! 在我 git add .GitHub 的时候Git Shell报了错误:

The file will have its original line endings in your working directory.
warning: LF will be replaced by CRLF in node_modules/livereload/node_modules/cho
kidar/node_modules/anymatch/node_modules/micromatch/node_modules/braces/node_mod
ules/expand-range/node_modules/fill-range/node_modules/randomatic/node_modules/k
ind-of/LICENSE.

类似这样的错误若干. 大致意思是地址名字过长了发生的错误. 好像只有在Windows下才会触发这个问题.

求解答 谢谢 !

15 回复

第一、把node_modules忽略掉。 第二、用TortoiseGit, 用TortoiseGit, 用TortoiseGit

@hezedu

  1. 这个忽略掉是什么意思 … 这些不都是livereload它引用的一大串一大串模块吗 ? 如何忽略掉 ?
  2. TortoiseGit 和 Git Shell 有什么不同更优于的地方吗?

望解答 谢谢。

我来解释一下报错的原因,win默认的文本换行符是\r\n(CRLF),而*nix的默认文本换行符是\n(LF). 所以win上的git发现LF就提示warning了,解决办法有git修改core.autocrlf的配置,或者更换*nix(linux/unix)系统开发,推荐后者。

@ystyle 是的 我也是用的这个

@HQidea

$ git config --global core.autocrlf true

是吗? 用了之后 git add . 还是没什么变化呢. 我迟早会换成 Ubuntu 的, 只是现在遇到了 Windows 上的问题想解决掉.

@hezedu 明白了 你是让我写到Package.json里是吗?

@LonelyLiaR 你搜一下core.autocrlfcore.safecrlf,要善用搜索引擎(Google)!

@HQidea Google 给我国人墙了 我就是想上也只能每天一小时 …

@hezedu 忽略提交不必要的文件 提交Package.json 对吧

Windows不用小乌龟还用啥Windows git1.jpg

你这个 错误 <code>LF will be replaced by CRLF in node_modules/li……</code> 应该要 重新初始化 git 项目了,应该是 git init 一下 另外:

分享下 gitignore

*.iml
.idea/
.ipr
.iws
*~
~*
*.diff
*.patch
*.bak
.DS_Store
Thumbs.db
.svn/
*.swp
.nojekyll
.project
.settings/
node_modules/
_site/
back/
Uploads/
build/
*.log

和 npm ignore

docs/
src/
tests/
tools/
node_modules/
CNAME
Makefile
*.txt
.*
*~

@hezedu 好像是个不错的软件 我去了解下 谢谢了 ~

@highsea 嗯 我并没有重启git项目 而是把一开始用 $ express -e 创建项目带的 Package.json 删除了. 然后再重新 $ npm init 新建了一个 Package.json , 把所有模块用 –save 重新装了一遍写进依赖. 再根据 @hezedu 说的 .gitignore 文件 忽略了 node_modules 文件夹 最后成功上传到了 git.

在这里感谢各位的帮助 我最终成功解决了问题 谢谢 !

回到顶部