是否没有全局方法可以忽略git中的文件更改,但将其保存在每个用户的存储库中

是否没有全局方法可以忽略git中的文件更改,但将其保存在每个用户的存储库中,git,Git,我正在查看堆栈溢出,但找不到任何解决方案(只是许多不太有用的解决方法),我只能假设这是一个非常常见的问题 我想忽略一些文件(令牌文件等)的更改,但保留存储库中的总体布局,这样我就不必手动生成文件,只需刷新令牌等。我知道我可以执行以下任何操作 运行:git更新索引--假定路径/到/文件未更改 但是,使用存储库的每个人每次都必须运行它 切换分支并运行代码,因此这不是一个实际的解决方案 使文件的生成成为从 CI/CD管道,但这并不能解决运行 该代码在本地运行。如本文所述 编写一个shell脚本以在

我正在查看堆栈溢出,但找不到任何解决方案(只是许多不太有用的解决方法),我只能假设这是一个非常常见的问题

我想忽略一些文件(令牌文件等)的更改,但保留存储库中的总体布局,这样我就不必手动生成文件,只需刷新令牌等。我知道我可以执行以下任何操作

  • 运行:
    git更新索引--假定路径/到/文件未更改
    但是,使用存储库的每个人每次都必须运行它
    切换分支并运行代码,因此这不是一个实际的解决方案

  • 使文件的生成成为从 CI/CD管道,但这并不能解决运行 该代码在本地运行。如本文所述

  • 编写一个shell脚本以在temp中本地生成文件 首次克隆回购协议的任何人的位置,但 当资产、代币、, 不断从项目中添加和删除配置文件等

  • 本质上,我所寻找的是类似于git中的
    ——假设unchanged
    命令的东西,对于克隆存储库的每个用户,该命令都是全局持久的,不会给他们带来额外的开销。也许这不存在,但我想我会问,因为这似乎是一个非常有用的功能。即使知道这是不可能的,也可以避免人们像我一样到处挖掘

    如果这不可能,有人知道为什么吗?
    提前感谢。

    您使用的语言/软件包/环境需要这些令牌?使用git解决这个问题可能不是正确的解决方案。通常,您的存储库中会有一个引用了另一个被忽略的文件的配置文件。此其他文件将仅包含本地用户的凭据。所有其他设置都将在跟踪文件中

    例如,如果您使用的是c#Web服务器,则可以对app.config文件使用以下解决方案

    编辑:

    对于C#单元测试,我通常在每个测试开始时添加一行以获取登录凭据,或者使用
    [TestInitialize]
    功能,如图所示。从凭证的角度来看,此方法/函数将填充我的底层软件需要运行的任何内容

        [TestMethod]
        public async Task RunAPITest()
        {
            Common.UnitTestLogin.LoginDev();
            //... Actual Test
    

    如果您在实际运行时从json文件加载凭据,则可以在初始化步骤中加载该json文件,然后从该步骤重写/替换凭据,或者本地读取另一个json文件(被忽略),或者从环境变量中提取。这样,您的git存储库保持干净,但您的最终用户可以轻松地在本地运行测试。

    Visual Studio预构建步骤?您的意思是“仅签出”文件吗?我们也有一个。需要存在的文件和设计器工具对其进行更改。我们想忽略这些变化,因为它们无关紧要,会破坏其他东西。如果文件为空,则所有操作都有效。到目前为止还没有解决方案,每个团队成员只需点击“撤消更改”如果文件弹出,@HimBromBeere这是我写项目时使用的语言,我认为它可能与我的解决方案相关,但并不重要,因此我删除了它it@Fildor是的,这正是我正在考虑的那种情况。特别是在这种情况下,我存储了一个Gmail API访问令牌凭据,但是过去,我在存储chrome配置文件和其他资产文件(如修改后的JSON)时也遇到过同样的问题。为了了解更多的上下文,我正在开发一个测试自动化框架,使用C#中的各种API和UI测试,并希望允许人们轻松地在本地运行测试。