代码之家  ›  专栏  ›  技术社区  ›  chiggsy

让Git不显示未跟踪的文件

git
  •  17
  • chiggsy  · 技术社区  · 14 年前

    什么时候做 git commit ,是否有方法不在“我的编辑器”(在中定义)中显示未跟踪的文件 $EDITOR )?我知道怎么做( git status -uno ,但我也希望在编辑器中这样做。

    请注意,我不想永远忽略这些文件;我只是不想在某些情况下看到它们。

    6 回复  |  直到 6 年前
        1
  •  16
  •   J. Cordasco    14 年前

    git-commit 人页:

           -u[], --untracked-files[=]
               Show untracked files (Default: all).
    
               The mode parameter is optional, and is used to specify the handling of untracked
               files. The possible options are:
    
               ·   no - Show no untracked files
    
               ·   normal - Shows untracked files and directories
    
               ·   all - Also shows individual files in untracked directories.
    
                   See git-config(1) for configuration variable used to change the default for
                   when the option is not specified.
    
        2
  •  37
  •   Nikana Reklawyks    12 年前

    如果你不 曾经 要将它们提交给您的回购,请使用 .gitignore 文件以忽略它们。有关更多详细信息,请参见 gitignore man page . 在您的 $EDITOR .

    如果您只是不想在提交时看到它们,请设置git config变量 status.showUntrackedFiles no ,如所指出的 here :

    $ git config --global status.showUntrackedFiles no
    
        3
  •  5
  •   Lohrun    14 年前

    您可以临时使用git commit选项 -uno 屏蔽未跟踪的文件( git help commit )

    如果您想要永久性的解决方案,请使用 .gitignore 文件。

    例如,如果要忽略该文件 bar.foo 和任何文件 .bak 扩展,你必须创建一个 吉蒂格诺 项目根目录中包含以下内容的文件:

    bar.foo
    *.bak
    

    某些文件被全局忽略 gitignore 文件(例如,忽略点文件和目录)。

        4
  •  3
  •   Jonathan Leffler Toon Krijthe    14 年前

    将文件名或文件名模板(通配符)添加到.gitignore文件并将其添加到存储库:

    git add .gitignore
    git commit -m 'Added .gitignore file'
    

    例如,对于我的Go存储库,我有一个.gitignore文件,其中包含:

    *.o
    *.a
    *.so
    *.pl
    *.6
    *.out
    _obj/
    _cgo_defun.c
    _cgo_export.c
    _cgo_export.h
    _cgo_gotypes.go
    *.cgo1.go
    *.cgo2.c
    example/example
    ifix1/esqlc-cmds.c
    

    我应该压缩一下 _cgo_ '带有通配符的名称;另一个“.c”文件是从“.ec”文件生成的,因此不需要跟踪它。

        5
  •  1
  •   Mr. Lance E Sloan    8 年前

    有时不需要通知已更改的回购文件或需要添加到回购中的新文件。但是,将文件名添加到 .gitignore 可能也不是一个好的选择。例如,其他用户不可能生成的本地生成的文件(例如,由编辑器创建的文件)或实验测试代码的文件可能不适合出现在 吉蒂格诺 文件。

    在这些情况下,请使用以下解决方案之一:

    1. 如果文件是已更改的repo文件

      使用命令:

      git update-index --assume-unchanged "$FILE"

      要撤消此操作,请使用以下命令:

      git update-index --no-assume-unchanged "$FILE"

      这个 update-index 但是,命令不适用于尚未添加到repo中的新文件。

    2. 如果该文件是新的且未添加到回购中

      将其文件名添加到repo exclude 文件:

      echo "$FILE" >> .git/info/exclude

      这也适用于已更改的repo文件,但没有特定的撤消命令。这个 排除 需要编辑文件并从中删除文件名。或者其他命令可以近似它:

      ex -s -c"g/^${FILE}\$/d" -cwq .git/info/exclude

      请注意,这将覆盖现有的 排除 如果指定的文件名包含可能影响正则表达式的特殊字符,则结果是不可预测的。

      这种用法 排除 页面推荐文件 "Ignoring files" on GitHub Help .

        6
  •  -1
  •   kumar    6 年前

    如果您使用的是Git扩展工具 在“提交”选项卡中,只需选择要忽略的文件,右键单击并将其添加到.gitignore