progit / progit2

Pro Git 2nd Edition
Other
5.69k stars 1.88k forks source link

Centralized workflows, chapt 5.1 #1963

Open evelinabe opened 6 days ago

evelinabe commented 6 days ago

There's no existing/similar bug report.

This report is about a single actionable bug.

This report is about the ProGit book, version 2, English language.

Bug covers book website/pdf

Problem is present in the Pro Git book on the website?

Which version of the book is affected?

Source files

Describe the bug:

I'm in the middle of translating this chapter to Swedish. I've read this section times and times again, and the comparisons don't add up for me:

This means that if two developers clone from the hub and both make changes, the first developer to push their changes back up can do so with no problems. The second developer must merge in the first one’s work before pushing changes up, so as not to overwrite the first developer’s changes. This concept is as true in Git as it is in Subversion (or any CVCS), and this model works perfectly well in Git.

If you are already comfortable with a centralized workflow in your company or team, you can easily continue using that workflow with Git. Simply set up a single repository, and give everyone on your team push access; Git won’t let users overwrite each other.

This gives the impression that Git functions the exact same way like a CVCS if you just give all contributors write access to a single repository. But, and this a honestly asked question that I don't have the answer to, would it really be possible to collaborate with Git and not have your own local repo? And first merge, then commit? For all I know, Git won't let you merge if you have any current changes that aren't committed.

So, the concept of having to merge changes is something you do in both systems, but not the approach (merge-before-commit vs commit-before-merge).

Steps to reproduce:

  1. Go to chapter 5.1

Expected behavior:

I was expecting a clearer distinction between a CVCS and DVCS.

Screenshots:

No response

Additional context:

No response

Device

No response

Operating system

No response

Browser/application + version

No response