-4

during the last days I spend many hours getting familiar with GIT. I tried several use cases and I am feeling pretty fine with it. Bt there is one question I could not find an answer up to now. What is GIT technically? As GIT doesn't need a server, is it some sort of filesystemwatcher to determine when files are pushed into a repository? When it is a filesystemwatcher, how does it deal with two users pushing the same file in the same moment?

thanks for your help

rodgerwilco
  • 325
  • 1
  • 14
  • `Git is fundamentally a content-addressable filesystem with a VCS user interface written on top of it`. Details: https://git-scm.com/book/en/v2/Git-Internals-Plumbing-and-Porcelain. Please read the whole chapter. – ElpieKay Feb 23 '18 at 09:23
  • It is a versioning system – Sumesh TG Feb 23 '18 at 09:24
  • If you spent many hours getting familiar with Git, perhaps you noticed that push and commit are actions initiated by the user, not automatically by a "filesystemwatcher". The other question is a duplicate of [this](https://stackoverflow.com/q/4643998/69809); i.e. the push that happens later will be rejected. – vgru Feb 23 '18 at 09:26
  • 1
    https://xkcd.com/1597/ – evolutionxbox Feb 23 '18 at 09:49
  • GIT is _technically_ Git, since it's not an acronym. – Edward Thomson Feb 23 '18 at 10:37

1 Answers1

1

Git is a DVCS, a Distributed Version Control System.

Marco G
  • 703
  • 6
  • 18
  • Yes, I know. But how does the remote repo recognize that data are being pushed into it? Or is it my client modifing the remote repo and starting the post receive hook for example? – rodgerwilco Feb 24 '18 at 17:51
  • @rodgerwilco Git is distributed, so you're working against your own local repository. You can then choose to push new commits to (or pull from) a remote repository. This could be a central repository - such as GitHub - which more people are working against. This is a very powerful way of working together. – Marco G Feb 28 '18 at 15:18