I am new to Source tree and Git. I am trying to understand what is the difference between Git and SVN. Someone told me that Git will take a full snapshot of the whole project instead of just for the increment files. So for example, when someone pushed code change for file A to remote repository and I need to pull them to my local, if in my local repository, I didn't touch file A but changed the file B, would there be a conflict for file B? Will source tree overwrite my file B with remote repository's original file B? Thanks.