.gitignore file in Sourcetree not working

前端 未结 8 1348
走了就别回头了
走了就别回头了 2021-01-30 01:23

I am working on a maven project and I want to ignore the files generated and stored in the /target folder of my project (Evaluation) root folder.In the root of my git repository

8条回答
  •  不思量自难忘°
    2021-01-30 02:13

    Let's say we have a file that was inadvertently added to our repository:

    stackoverflow$ echo this file is important > junkfile
    stackoverflow$ git add junkfile
    stackoverflow$ git ci -m 'added a file'
    

    At some point, we realize that the file is unimportant so we add it to our .gitignore file:

    stackoverflow$ echo junkfile >> .gitignore
    stackoverflow$ git ci -m 'ignore junkfile' .gitignore
    

    Later on, we make some changes to that file:

    stackoverflow$ sed -i 's/ is / is not/' junkfile 
    

    And of course, even though the file is listed in .gitignore, we have already told git that we want to track it, so git status shows:

    stackoverflow$ git status
    # On branch master
    # Changes not staged for commit:
    #   (use "git add ..." to update what will be committed)
    #   (use "git checkout -- ..." to discard changes in working directory)
    #
    #   modified:   junkfile
    #
    no changes added to commit (use "git add" and/or "git commit -a")
    

    We need to remove this file from the repository (without removing the file from our work tree). We can do this with the --cached flag to git rm:

    stackoverflow$ git rm --cached junkfile
    rm 'junkfile'
    

    This stages the delete operation...

    stackoverflow$ git status
    # On branch master
    # Changes to be committed:
    #   (use "git reset HEAD ..." to unstage)
    #
    #   deleted:    junkfile
    #
    

    ...so we need to commit it:

    stackoverflow$ git commit -m 'removed junkfile from repository'
    [master 19f082a] removed junkfile from repository
     1 file changed, 1 deletion(-)
     delete mode 100644 junkfile
    

    Now if we run git status git will ignore this file:

    stackoverflow$ git status
    # On branch master
    nothing to commit, working directory clean
    

    Even though it's still here in our working tree:

    stackoverflow$ cat junkfile 
    this file is not important
    

提交回复
热议问题