这个问题是我在玩git时发生的,但是我会问一般情况...

我只是想到了一个可能对版本控制有用的功能,但是我不知道它是否存在或被称为什么。我想称其为持久的本地更改。

假设我在svn中有一个配置文件,其中包含许多有用的不可重新创建的内容(因此必须在版本控制中),但是每个人都需要自己编辑一个部分。可能是数据库配置,或者是用户名和密码,或者是某些第三方软件的本地路径。在这种情况下,您的选择是

  • 在版本控制中编辑wars。只需不断更改文件,并希望其他人在执行操作前就放弃编辑文件。
  • 编辑它,但不要提交那些更改。他们只是坐在那里,使您的“新功能/更改内容”命令看起来很脏,您必须记住不要提交它。
  • 模板化。从版本控制中删除文件,并 checkin 带有.template结尾的文件的副本。在本地复制文件,然后将其重新命名,并在其中进行更改。
  • 使用新的(虚构的?)持久性本地更改功能。进行更改,然后发出record-changes-as-local-persistent命令,该命令可以找出补丁,并在每次更新后重新应用您的补丁。

  • 此功能是否存在于任何地方(感觉像git stash,但目的略有不同)?
    如果不存在,为什么有充分的理由呢? (有人考虑过,并认为这是一个坏主意吗?)

    最佳答案

    您可以在git中使用master(或“vendor”)分支和本地分支来执行此操作。您的本地提交在本地分支上,并且在更改时将其重新建立在master之上。如果您没有为本地分支机构指定一个远程服务器,那么您将无法无意间将其推送。如果您不小心将要保留的内容提交到本地分支机构,则只需挑选一下即可掌握并从那里推送。

    关于git - 是否有任何版本控制系统具有 "persistent local only change"功能?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1625629/

    10-13 08:36