Reputation: 1326
I made a repository online on github and then cloned it to my linux desktop. I pushed a few commits but noticed they were greyed out on the commits page.
These commits don't show up on my profile page. When I check the .patch for these commits I see my username but a different email. Both emails are linked to my account. Is there a way to link these commits to my account?
Upvotes: 0
Views: 313
Reputation: 2807
Open Git Bash. Create a fresh, bare clone of your repository:
git clone --bare https://github.com/user/repo.git
cd repo.git
Then, copy and paste the script, replacing the following variables based on the information you gathered:
#!/bin/sh
git filter-branch --env-filter '
OLD_EMAIL="[email protected]"
CORRECT_NAME="Your Correct Name"
CORRECT_EMAIL="[email protected]"
if [ "$GIT_COMMITTER_EMAIL" = "$OLD_EMAIL" ]
then
export GIT_COMMITTER_NAME="$CORRECT_NAME"
export GIT_COMMITTER_EMAIL="$CORRECT_EMAIL"
fi
if [ "$GIT_AUTHOR_EMAIL" = "$OLD_EMAIL" ]
then
export GIT_AUTHOR_NAME="$CORRECT_NAME"
export GIT_AUTHOR_EMAIL="$CORRECT_EMAIL"
fi
' --tag-name-filter cat -- --branches --tags
Press Enter to run the script. Review the new Git history for errors. Push the corrected history to GitHub:
git push --force --tags origin 'refs/heads/*'
Clean up the temporary clone:
cd ..
rm -rf repo.git
That's it.
Upvotes: 1