Skip to content

The "Add Code" section seems misleading #291

@ot-brad-schneider

Description

@ot-brad-schneider

The section under "I want to add code to someone else's repository" opens immediately with "Git doesn't allow you to add code to someone else's repository without access rights." This is misleading as git is inherently distributed and easily allows you to push changes in your repository to any other repositories. The access issues are a very real practical concern, but that is entirely due to pervasive security restrictions in modern system configurations. I've heard of two developers collaborating on a project while in flight with no shared network access by passing a USB drive with their 'master' repository on it. Git handles this just fine. I realize that due to real world concerns, e.g. your company disables USB drives on your laptop, this kind of open repository sharing is often impractical and that almost all use cases are better served by leveraging Github et.al. but that still shouldn't be stated up front as some kind of shortcoming of git itself. A better opening would be something like, "While git itself allows for changes to be easily pushed to an upstream repository, practical issues associated with establishing and maintaining a shared location for an entire team can be challenging to setup and maintain in a secure manner. Hosted git providers, such as Github, exist to provide a simple way for collaboration between multiple developers. They also layer on additional capabilities that can make code sharing more robust. A good example is the Pull Request capability provided by Github." This section of the Git Pro book details the kind of minimalism that is possible. I agree with the spirit of the recommendations in the section, I just think it should not be presented as something that is to be done due to deficiencies in git.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions