【问题标题】:Is it possible to have a local file that's different from its remote counterpart on Github?是否有可能拥有与 Github 上的远程文件不同的本地文件?
【发布时间】:2014-05-17 00:45:31
【问题描述】:

我想知道是否有可能在您的本地计算机上拥有一个与该文件的远程版本不同的文件。

例如,如果我希望本地配置文件具有实际的服务器和端口设置,但我希望 Github 上的文件版本具有“默认”设置,并且对配置文件的任何新更改都将被忽略.

有人知道这是否可行吗?

【问题讨论】:

标签: git github


【解决方案1】:

您可以使用--assume-unchanged

git update-index --assume-unchanged [filepath]

Git 将忽略对该文件的任何进一步更改。

【讨论】:

  • 这不会取消跟踪文件。这是对 git 的承诺,即文件不会在磁盘上更改,这是一个谎言;并且标志可以被任何以后触及索引的命令重置。
  • 谢谢!我将此标记为答案,因为它回答了我的实际问题,但我也很欣赏 Carlos 的回答,因为它是更“正确”的解决方案。所以谢谢你们。
  • 改写后的答案仍然遗漏了一点,即它可以在任何时候被稍后的命令撤消。
【解决方案2】:

如果文件从未被其他人更改(并且从未运行git commit -a),您可以保留修改后的版本,但它会始终显示在差异和状态输出中。一旦你跟踪一个文件,你就是在告诉 Git 你关心它,所以当你更新工作目录时它会尝试合并/更新。

对于这种情况,通常的建议是有一个 config.sample 文件(假设 config 是应用程序从中读取配置的位置)存储默认值,并让每个用户将其重命名为 config 和设置自己的配置。

或者,如果配置语言允许,让配置文件包含覆盖默认设置的config.local

这通常还会使测试和部署更简单,因为无需跟踪在使用之间更改的文件,并且会大大降低部署/安装脚本覆盖用户本地配置的可能性。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-03-17
    • 2022-11-17
    • 1970-01-01
    • 1970-01-01
    • 2022-06-14
    • 2013-09-08
    • 2017-03-11
    • 1970-01-01
    相关资源
    最近更新 更多