[Git] 3. Github 형상관리

김건우's avatar
Apr 02, 2025
[Git] 3. Github 형상관리

로그인 파일 재생성 시 형상 관리 문제 및 해결 방법

1. 로그인, 회원가입, 환경설정 파일 생성 및 초기 커밋

  • 로그인, 회원가입, 환경설정 파일을 생성한 후, 다음 순서로 Git에 반영한다.
    • git add . git commit -m "로그인, 회원가입, 환경설정 파일 생성" git push origin main
  • 이후, 로그인 파일을 리셋해야 하는 상황 발생.
    • notion image

2. 로그인 파일 재생성 후 해시값 변경 문제

  • 로그인 파일을 삭제 후 다시 생성하면, 파일 내용이 변경되면서 Git이 새로운 해시값을 부여한다.
  • 즉, 기존 커밋된 로그인 파일과 새롭게 생성된 파일이 다르다고 인식됨.
    • notion image

3. 커밋 시 형상 불일치 오류 발생

  • 이미 이전에 로그인 파일을 커밋한 상태이므로, 새로운 파일을 커밋하려고 하면 형상(파일 버전)이 달라서 덮어쓸 수 없음.
  • 이를 해결하려면 강제 푸시 또는 풀(Pull) 후 병합 과정이 필요함.

4. 해결 방법

강제 푸시 (로컬 변경 사항 유지)

git add . git commit -m "로그인 파일 재생성" git push --force origin main
  • -force 옵션을 사용하면 원격 저장소의 기존 내용을 덮어씌울 수 있음.
  • 하지만 이 방법은 다른 팀원이 작업한 내용을 덮어쓸 위험이 있으므로 주의가 필요함.

풀(Pull) 후 병합 (안전한 방법)

git pull origin main --rebase git add . git commit -m "로그인 파일 재생성 및 병합" git push origin main
  • git pull --rebase를 사용하면 원격 저장소의 최신 내용을 가져와 병합한 후 커밋할 수 있음.
  • 충돌이 발생하면 직접 해결 후 git add .git rebase --continuegit push 진행.
notion image
 
Share article

gunwoo