git에 올렸지만 생각해보니 작성자가 다르다..
깃을 사용할때 소스트리를 사용하는데
정신없이 작업을 하다보니 중간에 회사계정이 아닌
나의 계정으로 커밋된 목록이 보인다
크게 문제는 될것이 없지만
git 에 커밋작성자를 변경할 수 있는 기능이 있으니
사용해보고 기록한다
참고 :
madplay.github.io/post/change-git-author-name
git commit author 변경 (커밋 작성자 변경하기)
git commit 작성자를 잘못 입력하여 push까지 해버렸다. 커밋 작성자의 이름을 다시 바꿀 수 있을까?
madplay.github.io
(흐름)
1.git rebase -i 커밋해쉬값^
2. pick --> edit 변경
3.git commit --amend --author "이름 <이메일>"
4.git rebase --continue
5.git push origin +master
참고 사이트에 내용대로
git rebase -i 커밋해쉬값^
을 입력하면 editor로 변경되고
insert 키로 --> (insert, re )로 변환되는데
해당 커밋값에 pick이라고 되는 부분을
edit 으로 바꿔준다
수정이 다되면 esc 키를 누르고
:wq
입력하면 editor를 종료해야하는데
나는 esc키를 누르기전 다른키를 누르다가
뭔가 내용이 지워졌는데 지워진 내용는 못보고
그래서 뭔가 꼬이기 시작했다...
git rebase --continue
를 진행해도 edit 을 투두하라는 내용이나왔는데
아래
git rebase --abort
구문이 rebase 취소 구문이다
이상태에서는 처음부터 rebase를 진행한다고해도 뭔가 아직 rebase 디렉토리 안에 있어서
제대로 실행될수 없는것처럼 보였다
rebase --aboart
해주면 다시 master 디렉토리로 변경되었다
rebase 할 커밋내역은 한 20개내외였는데
혹시 editor에서 이렇게 한번 수정이 가능한지 시도해보았다
진행되는가 싶더니 마지막 메세지도 뭔가 된듯 보이지만
디렉토리 1/90 , 2/90 , 3/90...
디렉토리 위치가 뭔가 이상스러워서 abort로 다시 취소시켰다
3개정도 커밋을 변경하였는데
소스트리에 pull 과 push 가 새로 업데이트 알림이 생겨서
pull --> push 순서대로 진행했다
원격저장소를 하나 gitlab주소로 더 가지고 있었는데
아마 이부분에서 세컨드 원격과 충돌이 일어났을꺼라 추측해본다
왜냐하면 디렉토리 위치가......
내경우엔 git merge --abort 로 master 폴더로 돌아왔고
rebase 작성자변경은 한커밋씩 진행하기로 한다 ^^;;
edit 수정후
esc 하면 텍스트를 수정란에서 나오게 되며
커서가 없어도 :wq 이라고 입력하면 editor는 종료된다
git commit --amend --author "변경할 이름 <변경할이메일>"
입력하고
git rebase --continue 를 진행하면
로딩이된다
완료되면
git push origin +브랜치이름
넣어주면 작성자명이 변경된것을 확인해보자!
소스트리로 적용상태를 (변경된 커밋) 을 확인하는데
바로바로 적용이 안되는 걸 (갱신) 음...되지 않은건가
라고 생각하고 중복적으로 한커밋을 여러번 작업하기도 했다
그런데 포기할때쯤 git bash를 닫고 다시 열어보니
변경된 커밋이 짠 하고 나타났다
내경우에 그랬는데 혹 갱신이 안되었다고 무한 중복 rebase를 하기 전에
complete메세지를 보고 진행사항이 궁금한데 갱신이 안된 경우
참고!
그리고 연속적으로 rebase 작업시 내가 지정한 커밋해쉬값과
다른 해쉬값이 editor에 나올때도 있었다
rebase하면 git이 해쉬값을 새로 생성하니 그냥 작업해도 될것 같다 !
* 기존에 rebase해야 할 작성자 변경은 20개정도되었는데
브랜치도 있었고 마스터도 있었다
진행하다보니 중간에 conflict도 생기고 branch라서 그런건지
이유는 파악하지 못했지만
조심히 사용해야할것같다 나는 rebase를 진행하다 conflict나는 부분은
변경하지 않기로했다 커밋이 중복으로 올라가고 현 프로젝트에 꼬이는 느낌을 받았다
처음에 적용이 너무 잘되서 문서작업하는것처럼 후딱 헤칠우려고 하다보니
어딘가에서 실수가 난것일수도 있고
조심해서사용해야겠다!
결론 : 위에 조심해야할 사항은 다른 원격이 있을경우 로컬 master인줄 알고
원격을 rebase를 진행했다 로컬 브랜치가 분리되어서 head로 분리되는 경험을 하고
conflict를 해결하며 master 브랜치로 병합하고 복구하는데
많이 기능들이 원격의 시점에서 잘못머지되어 새기능들을 다시 작업해야했다
여러 원격저장소를 연결해서 사용할 경우 !
원격 커밋을 피해서 잘 rebase 해야 할것 같다 !
'git' 카테고리의 다른 글
Git) SourceTree_remote: Invalid username or password. (0) | 2023.11.16 |
---|---|
Git) init 설정 (0) | 2023.09.27 |
[git] 현재 사용자 확인 (0) | 2021.03.23 |
[git] gitlab ---> github 커밋내용까지 이전 (0) | 2021.03.08 |
[git] ubuntu 자동로그인 (0) | 2021.01.18 |