iOS 项目添加gitignore 文件

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iOS 项目添加gitignore 文件相关的知识,希望对你有一定的参考价值。

参考技术A gitignore文件用于忽略无需追踪的文件 

gitignore 文件中添加内容

.DS_Store

.svn

profile

*.moved-aside

#CocoaPods

Pods/

!Podfile

!Podfile.lock

## Build generated

build/

DerivedData

## Various settings

*.pbxuser

!default.pbxuser

*.mode1v3

!default.mode1v3

*.mode2v3

!default.mode2v3

*.perspectivev3

!default.perspectivev3

xcuserdata

## Other

*.xccheckout

*.moved-aside

*.xcuserstate

*.xcscmblueprint

*.xcscheme

*.xcworkspace

!default.xcworkspace

DerivedData

.idea

## Obj-C/Swift specific

*.hmap

*.ipa

一、项目还未上传至Git

cd 当前项目文件夹

git init

git remote add origin http://gitlab. xx/xx/xx.git  (git目录)

vim .gitignore

(文件中加入上面gitignore 文件内容)

git add .

git commit -m "Initial commit"

git push -u origin master

二、项目已上传至Git 添加gitignore

cd 项目文件名

git pull

vim .gitignore (文件中加入上面gitignore 文件内容)

按esc ->shift+zz 退出

git rm -r --cached .  

git add .

git commit -m "add ignore"

git push

NPM 会忽略 .gitignore 中列出的文件吗?

【中文标题】NPM 会忽略 .gitignore 中列出的文件吗?【英文标题】:Does NPM ignore files listed in .gitignore? 【发布时间】:2014-09-16 12:10:29 【问题描述】:

我有一个由npm install 命令生成的文件(使用preinstall 任务)。我不想将它添加到 git 存储库中,也不想添加到 NPM 项目中。

假设文件名为foo.json,我在.gitignore文件中添加了foo.json

这足以避免将其上传到 NPM 注册表吗?

我知道我可以添加.npmignore 文件,它肯定会忽略该文件,但如果.gitignore 已经这样做了,我不会添加它。

【问题讨论】:

【参考方案1】:

如果项目同时具有.npmignore.gitignore 文件,npm 将使用.npmignore 文件。

来自the documentation:

使用.npmignore 文件将内容保存在您的包裹之外。如果没有.npmignore 文件,但一个.gitignore 文件,那么npm 将忽略.gitignore 文件匹配的内容。如果您想要包含您的.gitignore 文件排除的内容,您可以创建一个空的.npmignore 文件来覆盖它。

简单来说,npm 首选 .npmignore 文件(如果存在),但会退回到 .gitignore 文件。

在许多情况下,Git 和 npm 都可以忽略相同的文件,因此单独使用 .gitignore 文件是有意义的。如果存在差异(即 npm 和 Git 需要忽略不同的文件),那么您需要维护单独的 .gitignore.npmignore 文件。

有关在.npmignore 文件中添加内容的更多信息:Should I .npmignore my tests?

【讨论】:

它有不同的情况,但非常相似,我有一个.gitignore,它不包括我的转编译ES6应用程序所在的目录bin/,所以我可以推送lib/,ES6编写的应用程序.但是,您可能会发现,问题在于 npm 中发布的包必须具有 bin/ 听起来您需要一个包含与.gitignore 相同内容但删除了bin/ 行的.npmignore 文件。 我想要完全相反的。我希望 npm 添加一个文件夹,尽管它存在于 .gitignore @LajosMeszaros 第二句涵盖了这一点:“如果您想包含 .gitignore 文件中排除的内容,您可以创建一个空的 .npmignore 文件来覆盖它。”在您的情况下,您需要将.gitignore 复制到.npmignore,并仅从.npmignore 中删除该文件夹。【参考方案2】:

对于任何阅读这篇文章的人试图忽略来自 git 的文件/目录但希望将其包含在 npm publish 中并尝试使用空的 .npmignore 文件但没有运气。这行得通。

在您的 .gitignore 文件中,添加您希望排除 **/build 的文件/目录,并在您的 .npmignore 文件中确保您指定相同的文件/目录,但使用 ! 前缀,以便构建示例,您将包括 !**/build

【讨论】:

以上是关于iOS 项目添加gitignore 文件的主要内容,如果未能解决你的问题,请参考以下文章

如何创建.gitignore文件,忽略不必要提交的文件

iOS 项目添加gitignore 文件

iOS 建立项目过滤机制 —— 给工程添加忽略文件.gitignore

第四十四篇iOS开发中git添加.gitignore文件

解释哪个 gitignore 规则忽略了我的文件

ios 忽略文件 .gitignore