【问题标题】:How to remove static library from source control?如何从源代码管理中删除静态库?
【发布时间】:2016-01-05 19:25:46
【问题描述】:

我按照本指南:http://www.raywenderlich.com/41377/creating-a-static-library-in-ios-tutorial 创建了一个静态库并将其作为子项目添加到我的主项目中。

当我在提交后尝试推送时(源代码管理->推送),除了推送中包含的主项目外,我还看到了我的静态库。

我希望我的静态库成为我项目的一部分,并且只推送到 1 个远程存储库。

如何做到这一点?

【问题讨论】:

  • 你有.gitignore 文件吗?
  • I want my static library to be part of my project and only push to 1 remote repository. 你能用另一种方式解释吗? part of my project and only push to 1 repository 与 git 的工作方式不匹配,但我想确保我们在同一页面上。
  • @Guildencratz 我添加了一个截图。我将我的静态库添加为我的主项目的子项目。当我提交和推送时,我想将所有内容推送到主项目的存储库。
  • @AnandS 我有一个 .gitignore 文件,但我希望我的静态库在我推送时包含在我的主项目的存储库中,而不是单独的存储库中。
  • 点击静态库的复选框并推送,我猜它会被添加到您的主存储库而不是作为单独的存储库。

标签: xcode git push static-libraries


【解决方案1】:

我希望我的静态库成为我项目的一部分,并且只推送到 1 个远程存储库。

如果他们已经被跟踪,则将他们添加到.gitignore

您应该使用assume-unchanged 标志
https://git-scm.com/docs/git-update-index

--[no-]假设不变

指定此标志时,不会更新为路径记录的对象名称。
相反,此选项设置/取消设置路径的“假定未更改”位。

当“假设不变”位打开时,用户承诺不更改文件并允许 Git 假设工作树文件与索引中记录的内容匹配。如果你想改变工作树文件,你需要取消设置来告诉 Git。这在处理具有非常慢的 lstat(2) 系统调用(例如 cifs)的文件系统上的大型项目时有时会很有帮助。

如果需要修改索引中的这个文件,Git 将失败(优雅地),例如合并提交时;因此,如果假定的未跟踪文件在上游发生更改,您将需要手动处理这种情况。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-01
    • 2014-03-16
    • 1970-01-01
    • 2010-12-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多