2011-02-24 3 views
2

Git 기록에서 사용자의 사용자 이름을 업데이트하고 싶습니다. 가능합니까?Git 커밋에서 사용자 이름/이메일을 업데이트하려면 어떻게해야합니까?

내 실수 였어, 전에 CVS에서 옮겨 왔고 모든 사용자가 힘내 저장소를 사용하여 몇 명의 사용자 이름을 놓쳤을 때까지 알지 못했습니다.

+0

마치 [파괴적으로 만 수행 할 수 있습니다] (http://help.github.com/changing-author-info/), 그러나 SHA1 ID를 업데이트하지 않는 무언가를 찾고있었습니다. –

답변

7

git-filter-branch가 필요합니다. 예를 들어, 모든 전체 역사에 커밋의 이메일 주소를 변경하려면, 당신은 할 수 있습니다 :

 
$ git filter-branch --env-filter GIT_AUTHOR_EMAIL=new_address 

에만 수정할 수있는 필터를 설정할 수는 당신이 필요로하는 어떤 기준에 따라 커밋. 당신은, "베리"에 의해 작성된 모든 커밋의 이메일 주소를 설정하려는 경우 예를 들어, 모든 커밋의 SHA1s을 수정합니다

 
$ git filter-branch --env-filter ' 
if test "$GIT_AUTHOR_NAME" = Barry; then 
    GIT_AUTHOR_EMAIL=barrys-correct-address 
fi' 

이 작업을 수행합니다.

2

및 이메일이 커밋 ID를 생성하는 해시 무엇의 일부입니다,에이 작업을 수행 할 수 없습니다 커밋 ID를 변경하지 않고 기존 저장소.

관련 문제