【问题标题】:git pull ignore one file on local directorygit pull 忽略本地目录中的一个文件
【发布时间】:2015-05-06 20:53:33
【问题描述】:

我已将 git 存储在 bitbucket 上并在几个地方工作(工作/家庭台式机/笔记本电脑/2 个服务器)。 我总是推到远程并从其他机器上拉。 问题 - 仅在一台机器上,有一个文件我不希望每次都从 git 中提取/下载它。 可以做什么?

【问题讨论】:

  • 是什么样的文件?
  • 文本文件,其中包含运行此代码的本地计算机的配置。

标签: git github bitbucket


【解决方案1】:

这是不可能的。 git 需要存储库的精确副本才能正常工作。所有 git 对象(文件、目录树、提交...)都会计算对象的校验和。这用于创建标识符并额外强制存储库的完整性。因此,忽略一个文件将创建全新的存储库。

【讨论】:

    【解决方案2】:

    这很hacky,但理论上应该可以使用git hooks

    在项目的.git 文件夹中,可以定义要在 git 流的不同点运行的脚本。

    在这台特定的机器上,pull 脚本会在 pull 后立即删除文件。另一个脚本会在推送之前检查文件,因此它不会提交删除文件。

    最后,您可能想告诉这台机器上的 git 使用 git's assume-unchanged feature 忽略此文件丢失的事实。

    【讨论】:

      猜你喜欢
      • 2014-11-20
      • 2016-10-08
      • 2016-04-30
      • 2012-01-21
      • 1970-01-01
      • 2021-12-20
      • 1970-01-01
      • 1970-01-01
      • 2011-05-08
      相关资源
      最近更新 更多