【问题标题】:gitignore across all branches?gitignore 跨所有分支?
【发布时间】:2011-02-09 12:34:27
【问题描述】:

嘿,我正在尝试进入 git,作为 emacs 用户,首先要做的是确保 git 忽略 ~ 和 #*# 文件。文档讨论了我一直在使用的 .gitignore。但是还有几个问题:

  • gitignore 现在已签入并部分 的一个分支。 .gitignore 应该是 签入,如果是,我该怎么做 在所有分支机构都可以轻松使用 在我的存储库中?
  • 有没有办法 将 gitignore 与 git config 一起使用 gitignore 始终保持不变 回购?
  • 如何处理 emacs 锁 #*# 的文件被视为注释?

我在 mac ox 雪豹上。 问候, 杰伦

【问题讨论】:

    标签: git gitignore


    【解决方案1】:

    将此添加到您的 $HOME/.gitconfig ;

    [core]
        excludesfile = /path/to/your/local/.gitignore
    

    然后它将在您所有的 git 存储库中本地可用。

    【讨论】:

    • 有没有办法让它成为全球性的(一个适用于所有分支机构)而不是本地化(它仍然会推/拉到/从远程源)?
    【解决方案2】:

    如果您在创建分支之前创建了 gitignore 文件,那么它显然在其中可用。否则你需要将该文件合并到其他分支。

    您可以使用 git config --global core.excludesfile [ignorefile] 定义一个全局忽略文件。

    【讨论】:

    【解决方案3】:

    在你的用户目录中创建一个~/.gitignore

    .DS_Store 
    *.pyc 
    .svn 
    

    然后运行:git config --global core.excludesfile ~/.gitignore

    • Emacs 文件

      \#*#

    自 1.6.2 起,\ 应在 .gitignore 中得到支持

    【讨论】:

      【解决方案4】:
      1. 签入 .gitignore 文件。它在所有分支机构中都可用(除非您弄乱了它)并使其与所有排除项保持同步
      2. 使用全局 gitignore 文件。
      3. 将此添加到您的 gitignore 文件中。

        #
        .#

      我写过关于three ways of excluding files here 的文章。

      【讨论】:

      • 它仅在提交到的分支中可用,并且在您合并此提交的那些分支中可用。
      【解决方案5】:

      将该文件放入所有分支的最简单方法可能是将带有 .gitignore 文件的 git cherry-pick 提交到这些分支中

      【讨论】:

      • 我不认为将“添加 .gitignore 文件提交”添加到所有分支中是 @dr jerry 所追求的,因为他要求一种方法使文件在所有分支中都可用 。当然,在挑选樱桃后,该文件将在所有分支中可用,但它仍然是特定于分支的,因为在没有进一步合并/樱桃挑选的情况下,对文件的更改不会在分支之间共享。
      猜你喜欢
      • 2019-05-27
      • 1970-01-01
      • 2015-05-15
      • 2023-03-11
      • 2020-08-21
      • 2012-07-25
      • 2023-03-27
      • 2021-02-26
      • 2018-04-27
      相关资源
      最近更新 更多