일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 소프트웨어공학
- 클라우드컴퓨팅
- I'm Sorry
- 버전관리
- 2
- 웹개발
- 인공지능
- 보안
- 프로그래밍언어
- 프로그래밍
- 머신러닝
- 컴퓨터과학
- 데이터과학
- 데이터베이스
- 빅데이터
- 컴퓨터공학
- 소프트웨어
- Yes
- 코딩
- 파이썬
- 자바스크립트
- 사이버보안
- 데이터분석
- 네트워크
- 딥러닝
- 데이터구조
- 알고리즘
- 자료구조
- 네트워크보안
- 컴퓨터비전
- Today
- Total
스택큐힙리스트
여러 개의 커밋에서 작성자와 커밋터 이름/이메일을 어떻게 변경할 수 있나요? 본문
여러 커밋의 작성자를 변경하는 방법은 무엇인가요?
답변 1
참고: 이 답변은 SHA1을 변경하므로 이미 푸시된 브랜치에서 사용할 때 주의해야 합니다. 이름 철자를 수정하거나 오래된 이메일을 업데이트하는 경우 Git은 .mailmap 를 사용하지 않고도 이를 지우지 않고 수정할 수 있습니다. my other answer.
리베이스 사용하기
먼저, 아마도 아직 git-config에서 이름을 수정하지 않았다면 수정하고 싶을 것입니다.
git config --global user.name New Author Name
git config --global user.email
이것은 선택 사항입니다, 그러나 커미터 이름도 재설정할 수 있도록합니다. 그것이 당신이 필요한 것이라면요.
리베이스를 사용하여 일련의 커밋에 대한 메타데이터를 다시 작성하려면 다음을 수행합니다.
git rebase -r
--exec 'git commit --amend --no-edit --reset-author'
각 커밋이 다시 작성될 때마다 --exec 단계가 실행됩니다 (반복적으로 git commit && git rebase --continue를 실행한 것과 같은 효과).
만약 당신이 처음 커밋(루트 커밋이라고도 함)도 변경하고 싶다면, 리베이스 호출에 --root를 추가해야 합니다.
이 명령은 커미터와 작성자를 모두 당신의 user.name / user.email 설정으로 변경합니다. 해당 설정을 변경하고 싶지 않은 경우 --reset-author 대신에 --author New Author Name
단일 커밋
만약 당신이 단순히 최근 커밋을 변경하고 싶다면, 리베이스가 필요하지 않습니다. 커밋을 갱신하십시오.
git commit --amend --no-edit --reset-author
전체 프로젝트 역사
git rebase -r --root --exec git commit --amend --no-edit --reset-author
이전 Git 클라이언트를 위해 (2020년 7월 이전)
-r,--rebase-merges는 당신을 위해 존재하지 않을 수 있습니다. 대신에, -p를 사용할 수 있습니다. -p에는 심각한 문제가 있으며 더 이상 사용되지 않습니다.
답변 2
여러 커밋에 대한 작성자 및 커미터 이름/이메일 변경 방법
Git은 개발자들에게 중요한 역할을 수행하는 협업 툴로서, 코드 버전 관리 있는 것이 중요합니다. 그 중에서도 커밋은 가장 기본이 된다. 커밋은 코드 변경 사항에 대해 각종 정보를 포함하며 해당 코드가 어떻게 변경되었는지를 추적합니다. 따라서, 커밋 정보 중에서도 작성자와 커미터는 매우 중요합니다. 이 정보를 변경하고 싶은 경우가 있을 수 있는데, 이 글에서는 여러 커밋에 대한 작성자 및 커미터 이름/이메일 변경 방법에 대해 살펴보겠습니다.
1. Git에서 여러 커밋을 변경하기 위해서는 다음 명령을 사용합니다.
> git rebase -i [커밋의 해시값]
2. 위 명령어를 실행하면 편집기 창이 뜨며, 여러 커밋에 대한 정보가 보입니다.
3. 변경하고 싶은 커밋의 첫번째 줄에 edit을 입력하고 저장하면 지정된 커밋에 대한 중단점이 만들어집니다.
4. 중단점에서 원하는 작성자 및 커미터 정보를 변경합니다.
5. 변경이 완료되면 다음 명령을 통해 변경 내용을 저장합니다.
> git commit --amend --author=새로운 작성자 이름 <새로운 작성자 이메일> --reset-author
6. 이후 다음 명령을 사용하여 변경된 커밋을 반영합니다.
> git rebase --continue
7. 모든 커밋의 이름 및 이메일 수정이 완료되면 다음 명령어를 사용하여 변경 내용을 remote 브랜치에 반영할 수 있습니다.
> git push --force
Git을 사용하면 손쉽게 여러 커밋에 대해 작성자 및 커미터 이름/이메일을 변경할 수 있습니다. 이를 통해 개발자들은 다양한 정보를 추적하는 과정에서, 개인적인 정보가 변경되는 경우도 문제없이 대처할 수 있습니다. 또한, 단순히 코드만 수정함으로써 프로젝트의 완성도를 높일 수 있는 개발 프로세스를 보다 원활하게 진행할 수 있습니다.