如何在引入 Xcode 源代码控制时避免 Ds_Store 和 pod?

Posted

技术标签:

【中文标题】如何在引入 Xcode 源代码控制时避免 Ds_Store 和 pod?【英文标题】:How to avoid Ds_Store and pods while pulling in Xcode source control? 【发布时间】:2020-07-01 18:55:19 【问题描述】:

我的团队成员推送了 pod 和 ds_store。我们使用 .gitignore 文件并添加了所有要忽略的内容。但是当我将它拉到我的 mac 中时,每个 pod 文件和所有文件仍然会发生冲突。

我怎样才能将它们全部删除并使其对未来友好而不再出现任何错误。

这就是我的冲突的样子:

【问题讨论】:

执行 git rm -rf Pods 将其从 repo 中删除,然后将不会被跟踪。 但是 ds_ Store 呢 做同样的事情,并确保它在 .gitignore 文件中 没有帮助..显示相同 我应该从远程删除它吗? 【参考方案1】:

先删除,

rm .DS_Store

然后拉,

git pull origin master

【讨论】:

上次登录时间:ttys000 上的 3 月 20 日星期五 21:58:42 imac@iMACs-iMac ~ % cd /Users/imac/Desktop/nahda-national-school imac@iMACs-iMac nahda-national- school % rm .DS_Store rm: .DS_Store: 没有这样的文件或目录 imac@iMACs-iMac nahda-national-school % git pull origin master 错误:无法拉取,因为您有未合并的文件。提示:在工作树中修复它们,然后使用 'git add/rm ' 提示:酌情标记分辨率并进行提交。致命的:由于未解决的冲突而退出。 imac@iMACs-iMac nahda-national-school % 我很困惑..OMG 那你可能有冲突,在合并之前解决。 您要删除所有冲突的文件吗?【参考方案2】:

这是因为文件已被 git 跟踪。

因此,您需要将它们从存储库中删除。

要删除单个文件...

git rm README.md

要删除文件夹...

git rm -rf Pods

完成此操作后,您需要将更改提交到 repo,然后只要您将它们列在 .gitignore 文件中,就不应再跟踪这些文件/文件夹。

git add . 

git commit -am 'refactor: remove un needed files' 

git push 

从 repo 中递归删除所有 DS_Store 文件夹

find . -name '.DS_Store' -type f -delete

【讨论】:

但是当我通过 git.. 每个文件夹中都有 Ds_store 文件 我添加到我的答案中 自动合并 Nahda School/Podfile.lock CONFLICT (content): 合并 Nahda School/Podfile.lock 冲突自动合并 Nahda School/Podfile CONFLICT (content): 合并 Nahda School/Podfile 冲突冲突(修改/删除):Nahda School/Nahda School/.DS_Store 在 HEAD 中删除并在 abd87c1ee2ba72b8c42dc988d43c8d2b8dc635d3 中修改。 Nahda School/Nahda School/.DS_Store 的版本 abd87c1ee2ba72b8c42dc988d43c8d2b8dc635d3 留在树中。冲突(修改/删除):Nahda School/.DS_Store 在 HEAD 中删除并在 abd87c1e 中修改 有点像这样 find . -name '.DS_Store' -type f -delete && rm -rf Pods

以上是关于如何在引入 Xcode 源代码控制时避免 Ds_Store 和 pod?的主要内容,如果未能解决你的问题,请参考以下文章

Xcode如何在预览(Preview)调试中避免与SwiftUI正常运行时环境不一致导致的崩溃

如何避免 XCode 在每次运行时重置 iPhone 上的位置

iOS使用Xcode开发如何避免与解决冲突-不区分svn和git-100%保证你远离冲突

存储 NSUserDefaults (Xcode) 时避免重复

如何在Xcode源代码控制中使用GPG签名?

如何理顺我的 Git 本地存储库(我使用了 XCode 的源代码控制)