Skip to content

Comment on Why does GitHub let me commit as other people?parent

Comments

What's accurate here? The guys who committed are the guys who are noted as the commit author¹. Just because I pushed the commits to a specific branch of a repo doesn't make me the author of the commit.

Also, imagine the following:

1. Alice writes some code and pushes it to a feature branch. She does not necessarily use github, though she does use git.

2. Bob pulls from Alice's feature branch into a new feature branch. He then pushes to his own repo on github. All commits are rewritten to have Bob as the author.

3. Charlie pulls from Alice's feature branch into a new feature branch. He then pushes to his own repo on github. All commits are rewritten to have Charlie as the author.

4. If we go and bind it to the account, then suddenly everyone's history diverges. Bob and Charlie certainly see different histories. The fact that Alice is the one who actually wrote these commits is completely lost.

I mean, it doesn't even make sense in a common-sense way. Why do I become the 'author' if I just pushed the code to a specific place? If you want to have some chain, force a merge commit every time someone merges.

¹ Well, specifically, they're the commit's committer, but if they did the work, they're the author too. Everything still applies.

It could make sense for future versioning systems to separate author from committer.

git supports this:

% git config --get user.name

Original Committer

% git commit -m "Test" --author "Test Dude <test@example.com>"

% git log -n 1 --pretty="%cn, %an: %s"

Original Committer, Test Dude: Test

AboutSource Built by g1lg1l

Hackerly is an independent reader for Hacker News, built on the public HN API. Not affiliated with Y Combinator.