suchen

Heim  >  Fragen und Antworten  >  Hauptteil

github - git 如何过滤文件或目录

我本地搭建的git 然后关联到github仓库,服务器从github上拉取内容。
现在想在提交的时候过滤掉配置文件,因为本地和服务器上的配置不同
然后我写了一个.gitignore文件,里面放的配置文件目录,这种方法试了不行。本地变更过的推送到github上,服务器从github在pull ,还是把配置文件目录的变更拉取过来了,没有过滤掉。

第二种方法直接在本地的.git\info\exclude添加配置文件目录还是没能过滤掉,请问是怎么回事呢?下面是写的规则,.gitignore是在服务器和本地都添加了,第二个是只添加在了本地的

PHP中文网PHP中文网2790 Tage vor870

Antworte allen(3)Ich werde antworten

  • 世界只因有你

    世界只因有你2017-05-02 09:52:48

    首先楼主要搞清楚一点,本地在添加到暂存区时就会自动读取.gitignore文件,根据其中的设置过滤相应的文件。所以楼主应该在添加到暂存区之前,就判断.gitignore文件是否生效,而不是推送到远程了才判断。
    你可以通过git status -s命令查看那些想过滤的文件是否被过滤掉,如果没有,那么很可能是因为那些文件之前已经在暂存区,.gitignore文件是无法过滤那些之前在暂存区已有的文件的,这时你可以使用下面的命令:

    git rm --cached files-you-want-to-ignore

    这时你再用git status -s命令查看一下如果的确忽略了,那你就可以进行后面的add、commit、push操作了。

    Antwort
    0
  • 阿神

    阿神2017-05-02 09:52:48

    你给出了过滤文件的方法了.
    可能这些文件已经加入到了仓库中,要不跟踪仓库中的文件 按照以下命令
    忽略跟踪

    $ git update-index --assume-unchanged /path/to/file       

    恢复跟踪

    $ git update-index --no-assume-unchanged /path/to/file  

    Antwort
    0
  • 我想大声告诉你

    我想大声告诉你2017-05-02 09:52:48

    .gitignore 规则没生效 要先git rm -r --cached

    Antwort
    0
  • StornierenAntwort