2016-09-22 6 views
0

最近、config user.emailを使わないでコミットしました。これらのコミットを編集して私のGitHubプロファイル上で貢献として認識される方法はありますか? (なしのメールがコミットしている - GitHubのアカウントとしてに追加する - あなたはログ怒鳴るに見ることができるように)Github invalid author電子メールのコミット、貢献活動はありません

ここではいくつかの最近ののgit logコマンドからのコミット:

(電子メールとの最後の/最初のものはあります私はuser.emailをconfigの後

commit 4ae6cc5c00e380c70072f9647b29dc242d2682d1 
Author: Tin Nguyen <[email protected]> 
Date: Thu Sep 22 11:00:30 2016 +0700 

    delete some unnecessary code 

commit 275362c077bb0495318d37b965c90beba2cb79b3 
Author: Tin Nguyen <Tin Nguyen> 
Date: Wed Sep 21 07:41:51 2016 +0700 

    modify database rules 

commit c6b3af19c24627cafd862eff7449bc5d3f95cfbc 
Author: Tin Nguyen <Tin Nguyen> 
Date: Sun Sep 18 14:14:23 2016 +0700 
... 

答えて

0

あなたが誰か他の人とあなたの作品を共有していなかった場合は(彼らはまだ/クローン/フォーク、それを引っ張っていなかった場合)さて、あなたは例えば、インタラクティブなリベースを行うことによって、それらのを編集することができます。

git rebase -i c6b3af19^ 
# change the comits you want to edit to "e" or "edit", leave the other on "p", "pick" 
git commit --amend --author "Tin Nguyen <[email protected]>" --no-edit 
git rebase --continue 
#repeat the two last steps until done 

またはより複雑な、より高速(ワンライナー):

git filter-branch --env-filter 'GIT_AUTHOR_EMAIL="[email protected]"' c6b3af19^..HEAD HEAD 

またはfilter-branchを使用せず(あなたが正しく持っている自分の名前を設定し、世界的に郵送しなければならないことに注意してください):

git rebase c6b3af19^ --exec 'git commit --amend --no-edit --reset-author' 

著者情報は両方ともあなたが最後に行ったコミットまでc6b3af19から上書きされることに注意してください。もっと最近コミットした他の著者がいる場合は不完全です。

注記すべての場合には、あなたがどのような場合にはgit push -f


で、あなたのリモートリポジトリに強制的にプッシュを行わなければならないことに、私はこれを行うにしようとする前に、新しいブランチを作成することをお勧め変更の種類。何か不具合が発生した場合は、reflogを使用して最新のコミットであったgit checkout 4ae6cc5cを復元することもできます。しかし、経験則として、履歴を書き換える前に分岐する方が良いと思います。

0

Gitのリベースとgitのは-amendは、ユーザーの電子メールの更新を助けるコミット)コミット。 rebase and amend

update user email

+0

このリンクは質問に答えるかもしれませんが、回答の重要な部分をここに含めて参照用のリンクを提供する方がよいでしょう。リンクされたページが変更された場合、リンクのみの回答は無効になります。 - [レビューの投稿](レビュー/低品質の投稿/ 13755980) – Garf365

+0

意味があります。それをします。ありがとう – Cyclotron3x3

0

git configでユーザー名と電子メールを設定し、これを試してみてください。

git rebase -i YOUR_COMMIT_SHA -x "git commit --amend --reset-author -CHEAD" 

それは選択されたコミットのために作者にリセットされます。

関連する問題