kyung8721 / budgetBook

가계부를 관리할 수 있는 프로그램
0 stars 0 forks source link

commit 오류 #19

Closed kyung8721 closed 2 days ago

kyung8721 commented 2 days ago

sourcetree 이용 중 commit을 해도 commit 메세지가 안 보이는 문제가 발생했다. 나도 안 보이고 다른 사람도 안 보이는 상황이라 큰일이었기 때문에, 깃허브 support에 문의를 올렸다. 원인은 작성자의 이메일이 달라서 발생한 오류였다.(그럼 팀 프로젝트엔 어떻게 하는거지?) 해결법은 일단 작성자의 이메일 주소를 바꾼 후, 깃허브 문의팀에게 받은 오래된 이메일을 새 이메일로 바꾸는 코드로 이메일 주소를 바꿔주면 되는 것이었다. sourcetree에는 새로 clone을 해서 사용해야 했기 때문에 좀 번거로웠지만... 오래 해결이 안되어서 나를 걱정시켰던 거라 해결되었다는 사실에 감사할 뿐이었다...!!!

kyung8721 commented 2 days ago

해결방법 코드

  1. 소스트리 터미널에 해당 코드 작성. 한 줄씩 작성하고 엔터 누를 것!!! <>사이에 있는 것을 교체해주면 된다. reponame은 깃허브 reposiotory 이름을 적어주면 됨. (참고 : 소스트리 터미널은 ctrl+v로 복사가 안되어서 그냥 오른쪽 클릭하고 paste를 선택해주면 된다. 거기서 단축키 외워서 써도 뭐 상관없고...)

    git clone --bare https://github.com/<username>/<reponame>.git
    cd <reponame>.git
  2. 아래 코드를 전체 복사해서 붙여넣기 해준 다음

    OLD_EMAIL="your-old-email@example.com"
    CORRECT_NAME="Your Correct Name"
    CORRECT_EMAIL="your-correct-email@example.com"

    이 코드에서 ""안에만 교체해주면 된다. 키보드 위 화살표 눌러서 올라가려고 하면 그 전 복사한 걸로 돌아가니 주의... 그리고 엔터치면 된다.

    #!/bin/sh
    
    git filter-branch --env-filter '
    
    OLD_EMAIL="your-old-email@example.com"
    CORRECT_NAME="Your Correct Name"
    CORRECT_EMAIL="your-correct-email@example.com"
    
    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
  3. 그 다음 이 코드를 붙여넣어서 푸쉬를 해주면 된다. git push --force --tags origin 'refs/heads/*'

  4. 깃허브에서 해결되었는지 확인한다!

  5. 이제 이 코드를 붙여넣어 복사했던 것들을 삭제한다.

    cd ..
    rm -rf <reponame>.git

    이 코드들도 한 줄씩 입력 후 엔터치는 것 잊지 않기.