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

Earn badges and make progress

You're on your way to the next level! Join the Kudos program to earn points and save your progress.

Deleted user Avatar
Deleted user

Level 1: Seed

25 / 150 points

Next: Root

Avatar

1 badge earned

Collect

Participate in fun challenges

Challenges come and go, but your rewards stay with you. Do more to earn more!

Challenges
Coins

Gift kudos to your peers

What goes around comes around! Share the love by gifting kudos to your peers.

Recognition
Ribbon

Rise up in the ranks

Keep earning points to reach the top of the leaderboard. It resets every quarter so you always have a chance!

Leaderboard

Come for the products,
stay for the community

The Atlassian Community can help you and your team get more value out of Atlassian products and practices.

Atlassian Community about banner
4,456,196
Community Members
 
Community Events
176
Community Groups

sourcetree shows unstaged files of files I did not change ?

When I changed some files and try to push them to the origin, and after pulling again from origin, I see in my File status Unstaged files of files I did not change. Why is that and why can I Push without having staged or even commit files locally?

2 answers

2 votes
Seth Rising Star Nov 09, 2016

Usually when files have mysterious changes, they end up being related to line-endings or file permissions. It's not unheard of for something on your computer to automatically change one of those things. Most diff tools will let you view whitespace differences, which should tell you if it's a line-ending problem (all lines will be "modified").

To answer the second part of your question, you technically CAN push, but if you haven't committed, nothing will happen. Git will report the push operation as successful, but nothing will have changed in either your local or remote repositories.

Checking file permissions will depend on your OS.

Other user changes appear in your local, that is what he means. Yes, we have the same issue and I think this is something to do with the config settings and how SourceTree and Bitbucket handles the settings. However, I don't know how it should be setup in order to not cause any problem. This must be addressed or resolved by Atlassian I believe.

If the preview of the changes in Sourcetree shows all the original lines of minus text followed by all the original lines of plus text again, then the thing that changed is line endings.

 

If the preview shows the file but no actual indication of lines that have changed PastedGraphic-3.png

then the execute permission of the file has changed.

 

The execute permission is the only attribute of a file that git tries to track. SourceTree does not know how to show that the permission has changed. It just shows the file in the list of modified files with no preview or a broken preview.


To make git not track the attribute changes (and thereby avoid the problem in SourceTree)  run this command via terminal from within a git project folder:

git config core.filemode false


Other things that might look broken:

PastedGraphic-1.png 

If the changes shown in SourceTree look like this it’s because the file was saved with Classic Mac line endings and SourceTree doesn’t know how to show them properly. But pressing CMD+D on the file will open it in BBedit’s side by side comparison view.


PastedGraphic-2.png

If the changes shown look like every single line of the file has changed even though nothing has changed, that is because the line endings were changed somehow.

 For example, if I download a jquery plugin from the web and it was created with windows line endings originally and I upload that, it seems that sometimes my ftp client or my webserver or something will change the line endings in that file from windows to unix. If I download that file from web server and overwrite the local original, SourceTree will show the line ending changes like this. 




Suggest an answer

Log in or Sign up to answer
TAGS

Atlassian Community Events