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

removing a file from the stage without changing it

lotusms February 20, 2018

I need to maintain a copy of a file in my local machine with different settings than the one stored in github. For example, localhost IP configs. My IP configs are only matching my own machine, it shouldn't be something that another person pulls. So, the copy in github needs to be 

<code>this is for everyone</code>

and mine needs to stay

<code> this is for me alone </code>

Problem is, when I change my file, sourcetree naturally recognizes the changes and adds it to the Unstaged Files portion for commit and push. I see some options when I right click but I'm not sure which one is the right one

right-click - remove (this deletes the file from my root I think)

right-click - Discard (this reverts my changes)

right-click - Stop Tracking (this creates a gitignore with the file path. It can't be ignored. it just needs to stay unchanged but able to be pulled)




2 answers

1 accepted

0 votes
Answer accepted
lotusms February 21, 2018

I found from a different source that this can be done by opening your Git Terminal and typing the following command to tell SourceTree to assume the file has not changed


git update-index --assume-unchanged C:/$PATH/src/main/webapp/frontend/config/webpack/Base.js
Mike Corsaro
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
February 21, 2018

If you find yourself using the command frequently, you can also add a Custom Action to do this for you:

  • Open Tools > Options > Custom Actions
  • Add a new action
    • Menu caption: Assume Unchanged
    • Script to run: create a bat file with this as the content, and browse to that file:
      • git update-index --assume-unchanged %1
    • Parameters: $FILE
  • Hit OK


To use the custom action simply select the file in the modified file list, and then go to Actions > Custom Actions > Assume Unchanged

lotusms February 21, 2018

That is very helpful! Thank you!

lfc5times18 November 16, 2021

I tried this but it gave me this error:


launch path not accessible

0 votes
Mike Corsaro
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
February 20, 2018

Hello! You can do this by creating a local non-shared ignore file. This will ignore changes to that file, but only for your local machine. To do that:

  • Navigate to your root ".git" folder in the repository
  • Create a file called "exclude" (no extensions) under the path "YOURREPO/.git/info"
  • Open the file, and add the ignore rule (for files, you can just write 'yourfolder/yourfile.blah' without the quotes, you don't need the full path, just the local one)
lotusms February 21, 2018

Thank you. However the file is still showing in the stage stack. 


My file structure looks like this

  • -root
  •   - .git (folder)
  •       - info (folder)
  •              exclude (file)
  •   - bin
  •   - optimizer
  •   - src
  •        - main
  •             - webapp
  •                   - frontend
  •                         - config
  •                                - webpack
  •                                       - Base.js
  • - .gitignore


My exclude file contains 



Suggest an answer

Log in or Sign up to answer
AUG Leaders

Atlassian Community Events