【问题标题】:How to locally ignore .git and .gitignore in a svn repo?如何在 svn 存储库中本地忽略 .git 和 .gitignore?
【发布时间】:2014-02-05 00:32:19
【问题描述】:

我有一个 SVN 工作副本(由 TortoiseSVN 管理)。在那个工作副本中,我使用 git 进行本地版本控制和分支。 当然,我想隐藏svn的.git目录和.gitignore文件。

但是,忽略它们意味着将属性添加到不再是本地的存储库中。 我不希望这样(因为有很多人共享这个 repo),因为它很烦人,因为它建议在每次提交到 repo 时提交。

我发现(通过question)忽略提交列表的可能性。但是(至少在 TortoiseSVN 中)它只适用于文件: 如果我检查修改,repo 会显示修改的属性。但是,我无法将其添加到提交时忽略,因为上下文菜单条目只是不显示。

那么,有没有办法(例如通过命令行?)将 repo 添加到 ignore-on-commit?

还有其他方法可以隐藏/忽略 svn 的 .git 和 .gitignore 吗?

【问题讨论】:

    标签: svn version-control tortoisesvn


    【解决方案1】:

    使用global-ignores 配置选项。这在SVN Book's Ignoring Unversioned Items section 中有记录。

    此设置将影响您的所有 Subversion 客户端和工作副本,但我怀疑在所有结帐时忽略 .git 和 .gitignore 对您来说不是问题。

    直接编辑配置文件

    在 Unix 上,该设置将应用于 ~/.subversion/config,而在 Windows 上则为 %APPDATA%\Subversion\config(尽管它也可以存储在注册表中,see the documentation in the SVN Book about that)。

    默认会被这样注释掉:

    ### Set global-ignores to a set of whitespace-delimited globs
    ### which Subversion will ignore in its 'status' output, and
    ### while importing or adding files and directories.
    ### '*' matches leading dots, e.g. '*.rej' matches '.foo.rej'.
    # global-ignores = *.o *.lo *.la *.al .libs *.so *.so.[0-9]* *.a *.pyc *.pyo
    #   *.rej *~ #*# .#* .*.swp .DS_Store
    

    您只需取消注释这些行并将.git 和.gitignore 添加到它们。

    TortoiseSVN 用户界面

    在您的情况下,您使用的是 TortoiseSVN,因此您可以避免直接编辑文件并使用 TortoiseSVN 中的设置。在 General 部分下有一个 Subversion 块和一个标记为 Global ignore模式。只需将.git 和.gitignore 添加到模式列表中。这在 Ignoring files and directories 部分的全局忽略块中有所介绍,更具体地说,在 TortoiseSVN 文档的 Settings section 中的 全局忽略模式 设置的详细信息中。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-11-12
      • 2013-02-28
      • 1970-01-01
      • 2012-07-12
      • 1970-01-01
      • 2020-10-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多