我在Ionic应用程序方面有些新手,对Git仓库这个主题非常陌生。当我提交时,会上传无数的文件 - 我发现很难确定项目中的哪些更改。
所以我想在这里寻求帮助,是否有忽略文件的指南,如果文件存在,则忽略默认的文件,在哪里找到,因为大部分工作都是在www
文件夹中完成的。
如果问题太基础,我很抱歉,但我需要帮助解决这个问题。
我在Ionic应用程序方面有些新手,对Git仓库这个主题非常陌生。当我提交时,会上传无数的文件 - 我发现很难确定项目中的哪些更改。
所以我想在这里寻求帮助,是否有忽略文件的指南,如果文件存在,则忽略默认的文件,在哪里找到,因为大部分工作都是在www
文件夹中完成的。
如果问题太基础,我很抱歉,但我需要帮助解决这个问题。
问题在于如果你已经添加了所有这些文件,一旦放置了.gitignore
,它将不会按照你的意愿运行。你需要将.gitignore
放在你的项目开头。
所以,我的建议是:在Git中创建另一个项目,重新上传你的项目并创建.gitignore
文件。我是基于自己的经验告诉你这个的。
.gitignore
文件中应该包含的基本内容:
node_modules
.tmp
.sass-cache
**/bower_components or sometimes it is lib/**
platforms
plugins
*.swp
*.swo
*.log
*.DS_Store
为了创建这个文件,你可以从Git或终端中进行:
$ touch .gitignore
以创建一个.gitignore
文件。使用Ionic 2时,脚手架(starter)项目会为您提供一个 .gitignore 文件。它几乎涵盖了所有您想要取消跟踪的基本文件。
您的 starter 项目中的 .gitignore 文件应该是这样的:
# Specifies intentionally untracked files to ignore when using Git
# http://git-scm.com/docs/gitignore
*~
*.sw[mnpcod]
*.log
*.tmp
*.tmp.*
log.txt
*.sublime-project
*.sublime-workspace
.vscode/
npm-debug.log*
.idea/
.sass-cache/
.tmp/
.versions/
coverage/
dist/
node_modules/
tmp/
temp/
hooks/
platforms/
plugins/
plugins/android.json
plugins/ios.json
www/
$RECYCLE.BIN/
.DS_Store
Thumbs.db
UserInterfaceState.xcuserstate
如何启动一个 Ionic 2 项目的脚手架,假设你已经安装了所有先决的 npm 模块。$ ionic start MyProject --v2
在刚刚创建的新目录MyProject/内,你将会找到默认的 .gitignore 文件,它是这个起始/模板项目结构所带的。
node_modules/
temp/
*.DS_Store
*.log
*.swp
如需更多详细信息,请查看此链接http://forum.ionicframework.com/t/whats-a-good-gitignore-for-an-ionic-project/4115
https://github.com/ionic-team/ionic-conference-app
这是文件链接: https://github.com/ionic-team/ionic-conference-app/blob/master/.gitignore
# Specifies intentionally untracked files to ignore when using Git
# http://git-scm.com/docs/gitignore
www/
*~
*.sw[mnpcod]
*.log
*.tmp
*.tmp.*
log.txt
*.sublime-project
*.sublime-workspace
.vscode/
npm-debug.log*
.firebase/
.idea/
.sourcemaps/
.sass-cache/
.tmp/
.versions/
coverage/
dist/
node_modules/
tmp/
temp/
hooks/
platforms/
plugins/
plugins/android.json
plugins/ios.json
$RECYCLE.BIN/
.DS_Store
Thumbs.db
UserInterfaceState.xcuserstate
ionic start <name of project> blank <other options>
(在发布Q时可能还没有这个功能...)
它将包含一些.gitignore
文件;但是,如果您想查找其他要排除的文件,可以查看GitIgnore.IO,并搜索“Ionic”。您还可以查看适用于您的操作系统、IDE/编辑器和其他工具(例如“VisualStudioCode”等)的文件,以查找要添加的其他文件。
如Non的答案中所述,如果您在提交后添加了.gitignore
(根据您的问题),则会出现一些奇怪的行为,因为已经在仓库中的文件将继续被跟踪。您可以使用以下命令:
git update-index --skip-worktree <files>
如此答案所述,要停止git尝试跟踪它们。这不应该有任何副作用,除非您最终希望再次跟踪这些文件,您将需要使用git update-index --no-skip-worktree <files>
使它们可以被跟踪。
如果您已经检入了一个文件,并且您想要忽略它,如果您稍后添加规则,Git 将不会忽略该文件。
这正是我告诉过你的。参考链接 - Nonrm --cached
命令。请参阅https://dev59.com/e2w15IYBdhLWcg3wkMjz。 - Doug Amos