title: How does git know when there is change in the local repo?
body: <p>When you change a file in the working directory, git know exactly what file changed. how does it know?</p>
  
  <p>Q1) Does it calculate a checksum at the time of commits and recalculates it on event driven change eg new file created in the working directory.</p>
  
  <p>Q2) Does your local drive apart from the working directory files keep the rest of the files in some location which grows as you include more projects? My drive seems fuller <code>C:\Users\&lt;USER NAME&gt;\Downloads\.git\objects</code>  with the addition of a new folder I was trying to track and now i would like to undo the folder I was trying to track, How do I reclaim that space. 
  I was trying to do something fancy with GIT like keep track of changes on my local project files and other documents so i see the documents that had changed and update my backup with only those files. </p>