I like git, it works perfectly fine on my command line.
I do wonder, though, if it would have been designed differently if the whole “code forge” sort of application (or whatever GitHub and the like are called) was envisioned at the time. Pull requests aren’t even a concept in git proper, right?
It seems like a kind of important type of tool. Even though git is awesome, we don’t need a monoculture.
Generates a pretty email requesting someone to pull commits from your online repository. It's really meant for Linus to pull a whole bunch of already-reviewed changes from a maintainer's integration branch.
The rough equivalent to GitHub's "pull request" is the "patch series", produced by:
Which lets you provide a "cover letter" (PR description), and formats each commit as a diff that can be quoted inline in an email reply for code review.
> I do wonder, though, if it would have been designed differently if the whole “code forge” sort of application (or whatever GitHub and the like are called) was envisioned at the time.
I would argue that it was purposefully designed in contrast against that model.
You can follow, star, favourite and comment on things, you get a feed where recent updates on stuff/people you've interacted are listed, you can customise your profile page with snippets about yourself, a photo, a status, contact info and add whatever else you want (including more photos, images, charts etc) in markdown. It now has discussions which are essentially a forum.
It's as much a social network/collaboration tool as it is place to store your code these days.
To the degree that it emphasizes communication between individuals over being a dumb database, yes, a bugtracker can be a social network. Bugzilla is a bit too close to the "database" side of the spectrum, whereas GitHub is at the other end; Jira sits somewhat in the middle.
Sorceforge predates git by about 11 years. As do several other projects like google code. Its not a new idea. Or basically most source control systems. Git, actually, is the more unique idea, of a DVCS... versus a cVCS...
git is not a new idea, various features of git existed in various SCMs for decades. The distributed aspect existed in Bitkeeper too, for example.
But it took a big brain with a systemic view of the problem and solutions space to bring them all together - in a lighting fast implementation to boot.
I don't think technical features were the key to git's success. What really made the difference was:
1. it was free;
2. it was sponsored by the most fashionable project of the time (Linux);
3. it did not require a server;
4. because it was FOSS, people could extend it without asking anyone's permission; and...
5. ...once GitHub appeared, simplifying the PR process, the network effect did its thing.
Git was hard to use and to understand. It did not win on technical features alone, as you said there were plenty of alternatives. It won because of community and network effects.
There’s really nothing resembling a “pull request” that’s used by 99.999% of git users. We have merge requests. But we call them pull requests for some dumb reason.
Indeed they're not; they live on the 'user layer' rather than the 'application layer'. That's not to say many git-frontends (IntelliJ, Sourcetree, Github desktop) don't support them, but "git pullrequest" isn't a thing.
Edit: see "git request-pull" as mentioned below (file:///C:/Program%20Files/Git/mingw64/share/doc/git-doc/git-request-pull.html) but what it does is write "a pretty email" (the other poster's words) to STDOUT.
Sorry. For some reason I used to get `git help ...` redirect me to the (URL of) the actual website.
I think the file:/// is so that you can fire off "[cmd /c] start FILEPATH" to load the default browser, while also not having to worry about spaces in the path.
"Pull requests" are part of git though since it was originally a DCVS it meant you would pull from an individuals git repo ... services like github etc centralized the concept
Perforce had change sets and there were lots of tools for code reviews that worked a lot like GitHub before GitHub (review board, phabricator, another one I can’t remember).
I do wonder, though, if it would have been designed differently if the whole “code forge” sort of application (or whatever GitHub and the like are called) was envisioned at the time. Pull requests aren’t even a concept in git proper, right?
It seems like a kind of important type of tool. Even though git is awesome, we don’t need a monoculture.