XZ_iOS/Python之创建项目cocoapod和gitignore的细节

本文介绍如何在iOS项目中设置.gitignore文件来排除不必要的文件夹和文件,避免它们被提交到Git仓库。还详细讲解了如何正确安装和配置第三方库RAC,并给出Python项目的.gitignore文件设置示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

iOS添加.gnore忽略文件添加

如果在创建工程的时候,没有选中git: Create Git repository on My Mac,后期想要把项目迁移到git怎么办呢?

如果我们建好了一个项目,想要添加到Git中,需要打开sourceTree,然后长按工程的文件夹,拖动到soureTree列表会生成一个本地仓库,添加到代码库之后,团队开发在使用git的时候需要一个非常重要的文件—忽略文件(gitignore),在GitHUb官网上搜索gitignore,然后下载

下载完之后,将文件夹中的“Objective-C.gitignore”文件,粘贴到工程中,

并重命名成“.gitignore”,但是会提示失败,这时我们在终端打开当前文件夹(cd 当前文件夹),

终端输入: $ cd /Users/admin/Desktop/RAC 

终端输入ls  查看当前文件夹中包含的内容

终端输入:mv Objective-C.gitignore .gitignore  mv是move的缩写 将“Objective-C.gitignore”重命名“.gitignore”,并隐藏

终端输入:ls -laG  可以查看隐藏的文件

 

打开sourceTree可以发现.gitignore也有了

 

然后使用pod导入RAC框架,在终端输入:pod init   创建Podfile文件

然后拖拽 Podfile文件到Dock上的Xcode快捷键,打开Podfile文件,或者使用命令行vim打开,

输入pod‘ReactiveCocoa’,打开platform :ios, ‘9.0’和use_frameworks!即去掉前面的#,在终端输入:$ pod update 更新代码库,这需要一段时间等待。

在终端输入:pod install --no-repo-update

 

注意:1>使用RAC框架一定要打开use_frameworks!,因为swift导入第三方框架要把use_frameworks!打开,而RAC框架本身支持swift。

 

2>—no-repo-update

注意:不会升级代码库!如果框架升级,永远不能得到更新的代码,所以不能一直使用。

 

更新完之后,打开sourceTree可以看到,这里有很多的未提交的文件,

 

git代码提交是客户端的代码提交给服务器,第三方框架不需要每次都提交,这样只会浪费服务器的空间。

 

再拖动一份“Objective-C.gitignore”文件到工程目录下,在重命名之前,先拖动“Objective-C.gitignore”到Dock上的Xcode快捷键打开文件,删除# Pods/ 前面的#,打开这句。

 

注意:"#"的意思是----这个目录中的所有东西全都要备份到服务器。

 

在终端输入::mv Objective-C.gitignore .gitignore  将“Objective-C.gitignore”重命名,并隐藏

可以在终端输入:ls -laG  可以查看隐藏的文件

 

打开sourceTree查看,发现少了很多文件,这样Pods文件夹就不会被提交了

 

注意:在开发中,如果从服务器clone项目之后,没有pods目录,需要自己在本地执行pod install

 

Python项目中添加.gitignore忽略文件

添加方式和iOS的添加方式相同,只是需要下载的是Python.gitignore文件,并重新命名为.gitignore隐藏文件

如果想忽略一些文件,则在下图中添加即可,类似于划线的部分

最后,暂存文件就只剩下后缀是.py的文件了,如下图:

<think>好的,用户想知道为什么他们在.gitignore文件中配置了特定路径,但可能这些文件仍然被Git跟踪了。我需要先检查他们提供的路径是否正确,以及.gitignore的语法是否有问题。 首先,用户给出的.gitignore条目是: /plus-ui/node_modules/ /enrising-ui/node_modules/ /enrising-ui/package-lock.json 我应该检查这些路径是否符合.gitignore的规则。注意到用户使用了斜杠开头,这可能表示从仓库根目录开始的绝对路径。如果他们的仓库结构确实是根目录下有plus-uienrising-ui这两个目录,那么这样的配置是正确的。否则,如果这些目录不在根目录下,路径可能需要调整。 接下来,常见的问题可能包括: 1. .gitignore文件的位置是否正确?是否放在仓库的根目录下? 2. 是否有缓存导致忽略规则未生效?可能需要清除缓存。 3. 是否在添加忽略规则之前,这些文件已经被Git跟踪了?如果是的话,.gitignore不会影响已经被跟踪的文件。 需要提醒用户,如果这些文件已经被提交过,Git会继续跟踪它们,即使后来添加.gitignore。这时候需要使用git rm --cached来停止跟踪,并提交删除操作。 另外,检查路径末尾的斜杠。在.gitignore中,目录后的斜杠表示只忽略目录,而不忽略同名文件。不过在这个例子中,node_modules本身就是目录,所以有没有斜杠可能影响不大,但最好保持正确。 还有,用户是否在子模块中?如果这些目录是子模块,.gitignore规则可能不会生效,因为子模块有自己的.git目录。 最后,建议用户使用git check-ignore命令来验证他们的忽略规则是否被正确应用,或者使用git status查看文件是否仍然被跟踪。同时,检查是否有其他.gitignore文件在子目录中覆盖了根目录的配置。</think>在 Git 项目中配置 `.gitignore` 时,你提供的以下路径可能存在几个需要注意的问题: ```gitignore /plus-ui/node_modules/ /enrising-ui/node_modules/ /enrising-ui/package-lock.json ``` ### 一、路径格式解析 1. **斜杠 `/` 开头的路径** 表示从仓库根目录开始的绝对路径。例如: - `/plus-ui/node_modules/`:忽略根目录下 `plus-ui` 子目录中的 `node_modules` - 如果实际目录结构是 `项目根目录/plus-ui/node_modules`,则配置正确 2. **结尾斜杠 `/` 的作用** 表示仅忽略目录(而非同名文件)。例如: - `/plus-ui/node_modules/`:仅忽略目录,不会忽略名为 `node_modules` 的文件 - 如果删除结尾斜杠,则会同时忽略同名文件目录 ### 二、常见失效原因 1. **历史记录已跟踪文件** - 如果这些文件/目录曾经被提交过(即已存在于 Git 历史记录中),后续添加的 `.gitignore` 规则对其无效 - **解决方法**: ```bash # 清除 Git 缓存并重新提交 git rm -r --cached plus-ui/node_modules git rm -r --cached enrising-ui/node_modules git rm --cached enrising-ui/package-lock.json git commit -m "停止跟踪已忽略文件" ``` 2. **`.gitignore` 文件位置错误** - 必须将 `.gitignore` 放在项目根目录 - 子目录中的 `.gitignore` 仅影响其所在目录及子目录 3. **语法错误** 检查是否存在以下问题: - 意外的空格(如 `/plus-ui /node_modules/`) - 转义字符错误(特殊符号需用 `\` 转义) ### 三、验证方法 1. **检查忽略规则是否生效** ```bash git check-ignore -v plus-ui/node_modules/some_file git check-ignore -v enrising-ui/package-lock.json ``` - 如果输出匹配的忽略规则,则表示配置成功 2. **查看未跟踪文件** ```bash git status --ignored ``` - 被正确忽略的文件会显示为 `Ignored` ### 四、建议配置优化 ```gitignore # 通用 node_modules 忽略规则(适用于所有子目录) **/node_modules/ # 针对特定路径的忽略(可省略,因通用规则已覆盖) /plus-ui/node_modules/ /enrising-ui/node_modules/ # 忽略所有 package-lock.json(根据项目需求决定是否全局忽略) # **/package-lock.json # 指定忽略单个 package-lock.json /enrising-ui/package-lock.json ``` ### 五、典型目录结构示例 如果你的项目结构如下: ``` my-project/ ├── .gitignore ├── plus-ui/ │ └── node_modules/ ├── enrising-ui/ │ ├── node_modules/ │ └── package-lock.json └── ... ``` 则你当前的配置是符合预期的。如果问题仍然存在,建议按照第三步的验证方法排查具体原因。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值