Ionic项目的Git忽略文件

30

我在Ionic应用程序方面有些新手,对Git仓库这个主题非常陌生。当我提交时,会上传无数的文件 - 我发现很难确定项目中的哪些更改。

所以我想在这里寻求帮助,是否有忽略文件的指南,如果文件存在,则忽略默认的文件,在哪里找到,因为大部分工作都是在www文件夹中完成的。

如果问题太基础,我很抱歉,但我需要帮助解决这个问题。

5个回答

31

问题在于如果你已经添加了所有这些文件,一旦放置了.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或终端中进行:

  1. 在终端中,导航到你的Git仓库所在的位置。
  2. 输入$ touch .gitignore以创建一个.gitignore文件。

2
非常感谢您的帮助,事实上两个答案都对我有很大帮助! - NHTorres
@sioesi 看,这是在 Git 帮助页面上的内容:如果您已经检入了一个文件,并且您想要忽略它,如果您稍后添加规则,Git 将不会忽略该文件。 这正是我告诉过你的。参考链接 - Non
8
不需要创建新项目。要忽略已经提交的文件,请使用git的rm --cached命令。请参阅https://dev59.com/e2w15IYBdhLWcg3wkMjz。 - Doug Amos
1
@DougAmos 我提供的答案是正确的,你的也是正确的。你没有理由滥用Downvote功能。只有在答案毫无意义或类似情况下才应使用Downvote,而不是在这种情况下。 - Non
@NietzscheProgrammer,您的答案基本上是正确的,但不建议使用,因为任何 git 历史记录都将丢失。 如果没有做太多的工作,这样做就没问题,但如果您已经做了很多工作,这并不理想。 另外,.gitignore 文件显然不必在项目开始时创建(我试图取消我的踩踏,因为您的确是正确的,但 Stackoverflow 不允许我这样做)。 - Doug Amos
显示剩余5条评论

15

使用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 文件,它是这个起始/模板项目结构所带的。


4

1
非常感谢您的帮助,事实上两个答案都对我很有帮助! - NHTorres

2
你可以随时使用Ionic团队的参考应用程序,并查看他们如何为项目配置.gitignore:

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

0
如果您使用Ionic CLI创建项目:
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>使它们可以被跟踪。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接