Git

[이클립스] Git 소스코드 commit시 reject되었을 때 해결방법

Workspace 동기화(sync) 후 소스코드를 commit 또는 commit and push 할때 reject 당하는 경우가 있다. 깃 저장소 권한이 말소 되었거나 새로 추가되어 올라온 소스코드를 pull로 내려받지 않고 commit 또는 commit and push를 시도하면 reject가 발생하는 경우가 생긴다. 정확한 이유는 모르겠다. 여튼 reject 됨으로써 발생하는 문제가 있다.


깃 커밋 reject시 발생하는 문제점

소스를 내려받고 다시 commit and push시도하려고 보면 왼쪽 동기화 리스트에서는 내가 수정한 파일들이 존재하지만 Git Staging 탭의 Unstaged Changes 영역과 Staged Changes 영역에 내가 수정한 파일들이 존재하지 않게된다. 왜그러는거야?

Git Repositories 확인해보니 reject로 실패인해 Local 영역에 commit 정보가 잡혀 있기 때문이다. 제대로 commit이 되었다면 Remote Tracking 정보에 잡혀야 한다.



다시 소스코드를 커밋하려면?

  1. Git Repositories 영역으로 이동한다.
  2. Remote Tracking 영역을 클릭한다.
  3. commit 리스트 중에 가장 최상위에 있는 리스트를 선택한다.
  4. 마우스 우클릭하여 팝업메뉴가 나타나면 Reset를 클릭한다.
  5. 리셋팝업이 나타나면 Reset type 3가지 [Soft(HEAD updated), Mixed(HEAD and index updated), Hard(HEAD, index and working tree updated) 중에 Mixed를 선택한다.
  6. Finish 버튼을 클릭한다.
  7. 동기화 소스코드 리스트에서 내가 수정한 파일을 선택해준다.
  8. 마우스 우클릭하여 commit를 클릭한다.
  9. Staged Changes 영역으로 내가 선택한 파일이 추가된다.
  10. Commit Message를 작성 후 Commit and Push 버튼을 클릭한다.

[깃 연관 자료]

[이클립스] Git 저장소의 소스코드와 충돌이 발생할 때 overwrite하였음에도 계속 충돌발생 팝업이 사라지지 않을 때 해결 방법

[Git] 이클립스에서 Git 사용시 특정 파일 되돌리기(롤백) (Revert)

[이클립스] Git에 소스 commit and push 할때 신규 파일은 커밋되지 않는 문제가 발생할 때 해결하는 방법

[이클립스] Git에서 Clone하여 프로젝트를 import하였으나 디렉토리(폴더)가 누락이 되었을 때 처리 방법

[이클립스] Git에서 프로젝트 내려 받는(Import) 방법

깃허브 원격 저장소(GitHub Repository)에 소스 커밋(commit) 하는 방법, push하는 방법

깃허브 원격 저장소(GitHub Repository) 생성 및 삭제 방법

VSCODE에서 작업한 소스코드를 이클립스에서 Git 소스 커밋시 충돌발생 후 overwrite 하여 날린 소스 복원을 시도했다. 결과는 성공이었다.

윈도우(Window) 환경에서 git 원격 저장소 연결 및 소스코드 내려받는 방법

Leave a Reply

error: Content is protected !!