Create
cancel
Showing results for 
Search instead for 
Did you mean: 
Sign up Log in

It's not the same without you

Join the community to find out what other Atlassian users are discussing, debating and creating.

Atlassian Community Hero Image Collage

Source tree .gitignore to ignore everything but specific directories

Edited

I've seen many examples and they pretty much say the same but for some reason I cannot get it to work using SourceTree.

My folder structure shown below, i want to ignore everything except for folder3 and all it's content, folder2_3_2_1 all it's content and the .ignore file.

 

folder1
folder2
   folder2_1
   folder2_2
   folder2_3
     folder2_3_1
     folder2_3_2
          folder2_3_2_1
             someOtherFile1.php
             someOtherFile12php
             someNewFolder
     folder2_3_3

   folder2_4
folder3
.ignore
somefile.php
somefile2.php

 

in my .ignore I have the following

# Ignore everything
/*


#except for
!.gitignore
!folder3/
!folder2/folder2_3/folder2_3_2/

 

 

Strange thing is, if I don't ignore anything and I'm able to see all my files in my unstaged files panel, if I right click and ignore someOtherFile.php and select the option to ignore everything beneath, it does the opposite, it ignores it's folder (i.e. folder2_3_2_1) and everything within!

 

Sourcetree V 2.3.1.0

Thank you in advance

1 answer

0 votes
Ana Retamal Atlassian Team Nov 23, 2017

Hi David! It looks like you're using the wrong name for the file, it should be called .gitignore not .ignore. Can you fix that and try:

# Ignore everything
/*


# Except for
!.gitignore
!folder3/
!folder2/folder2_3/folder2_3_2/*

Apart from that, keep in mind that .gitignore will prevent untracked files from being added, however git will continue to track any files that are already being tracked. This means, if the files were tracked before, they will continue to be tracked even though you added them now to the .gitignore. To stop tracking a file you need to remove it from the index, you can achieve this with the command:

git rm --cached <file>

The removal of the file from the head revision will happen on the next commit.

 

Lastly, you can try all of this directly in the terminal instead of Sourcetree, so we can determine wether this is some kind of issue in Sourcetree, or the problem is somewhere else :)

Let us know if this helps!

Cheers,

Ana

Suggest an answer

Log in or Sign up to answer
TAGS
Community showcase
Published in Sourcetree

Tip from the team: configure your repos for hosting goodness!

Supported Platforms macOS Windows We recently introduced support for additional hosting services such as GitHub Enterprise, GitLab (Cloud, Community Edition, Enterprise Edition), and...

5,761 views 4 12
Read article

Community Events

Connect with like-minded Atlassian users at free events near you!

Find an event

Connect with like-minded Atlassian users at free events near you!

Unfortunately there are no Community Events near you at the moment.

Host an event

You're one step closer to meeting fellow Atlassian users at your local event. Learn more about Community Events

Events near you