14

I'm working on a freelance project. The client (let's call him foobar) asked me to upload the code using his github account (my work PC runs 64-bit Windows 10, I have git 2.15.0) installed.

So I did these steps.

  1. Go to Credential Manager -> Windows Credential -> Generic Credentials. Removed my Github account

  2. On the source code directory, performed the standard procedure:

    git init
    git add *
    git commit -m "first message"
    git remote add origin https://github.com/foobar/supersecretproject.git
    git push -u origin master
    

A Github credential dialog appeared. Entered his credential.

Wait for a while, and yes the code was commited to Github. Opended the Github page, and strangely the commiter shown was me, not foobar. Strange. How to fix this? I want to commit as foobar.

1

3 Answers 3

31

If you only want to create a single commit on behalf of another author (not to be confused with another committer) and do not want to edit your config, you can also specify the --author argument instead:

git commit --author "Elon Musk <[email protected]>"

This will only set the author metadata of the commit, not the committer metadata about yourself. However, I would even consider this idiomatic as while the correct authorship is maintained, tracing the commit back to you in case of any troubles is still possible.

Found here.

Sign up to request clarification or add additional context in comments.

2 Comments

Worth checking, difference between Author and Committer: stackoverflow.com/questions/18750808/…
FYI, note that the above example author name + email format is not something OP chose at random but is actually the required format. i.e. The format for the --author value is A U Thor <[email protected]>, as per this answer
8

If you wish to change config settings for just one repo. You can try this procedure:

1) On the terminal, change the current working directory to the local repository where you want to configure the name and email that is associated with your Git commits.

2) $ git config user.name "Elon Musk". 

3) $ git config user.email "[email protected]"

3) Confirm that you have set the Git username and email correctly:

 $ git config user.name

> Elon Musk

 $ git config user.email

> [email protected]

It's done!:)

Hope this might help!

1 Comment

This sets the user local-only (tied with current repository), notice there is NOT used '--global' flag, so the global account will remain as it was. Adding this comment as I didn't notice the difference :)
1

You also need to configure your name and email for git:

git config --global user.email "[email protected]"
git config --global user.name "Your Name"

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.