Tim Visher wrote: > there are some issues that I can't wrap my head around, such as how > you can guarantee that all developers are working on the same > code-base without a central repo. You can have a central repo that represents the official lines of development (branches, but "official" branches), and each developer has local copies of those branches so they can compare their own work against them. If you don't have a central repo, then the developers can keep local copies of other developers' branches when they're interested in them, and compare their work against those. Using the git project as an example, when you clone from git://git.kernel.org/pub/scm/git/git.git you will find "remote branches" origin/master, origin/maint, etc. They're stored locally in your repo; the name "remote" only refers to the fact that at one time (when you last cloned or fetched) they corresponded to branches in the origin repo. You can list your copies of these branches with "git branch -r". You can freshen them to agree with the origin with "git fetch origin". Your local branches ("local" referring to the fact that they exist _only_ locally), listed by "git branch", are what you develop on. After you do "git fetch", you can compare your local branches against your copies of the remote branches to see if the remote repo has new work you haven't yet incorporated into your local branches. You can also compare against them to see if you have work they don't. So each developer can compare what they have against what others have, and keep things in sync as much as they wish to (and no more), fairly easily. --Pete -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html