Our team uses shared folders (Windows) to work on projects together. We never make local copies, but always edit the files in-place. Now I've heard we would be much better off using git. Is git a reasonable option is this case? And if so, how can we use it?
1 Answer
Your situation today:
Our team uses shared folders (Windows) to work on projects together. We never make local copies, but always edit the files in-place.
- One Source
- No versioning
- No chance to even detect what is called merge conflicts. What you play is »last saved wins« You have to put social constraints like »Okay, we agree never to edit the same file«. That is weak.
So in general any VCS (Version Control System) would be a benefit.
Now I've heard we would be much better off using git. Is git a reasonable option is this case? And if so, how can we use it?
Yes, git is one choice, but there are others (plastic-scm, mercurial, bazaar, SVN to name some).
These are the main benefits for your current scenario (not everything is exclusive to git):
git allows you easily to branch off something for development purposes Think of it as follows: git remembers (like bookmarking) where you were with your work at a certain point of time. And from there you could apply changes to that. If you successfully end your work, you could merge your work into the main branch. If you are unhappy, you could revert to any previous state or throw your branch away.
as previously said, changes, which were branched off at some point, could be merged together at some time, conflicts will be shown.
you have a history of who did what and when down to the line of code.
since branching and reverting is easy, you could do more "experiments" on your codebase
no weak social constraints to solve merge conflicts
you could work offline
You may think about it.