아마 이 글을 읽으시는 개발자분들도 GitHub나 GitLab을 사용하실거라고 생각해요
근데 원격저장소에 Commit 이나 Push를 잘못했을 경우 아주 난감할 수 있습니다
그럴땐 Calm하게 Terminal 을 여시고 아래 코드를 치시고 커밋이나 푸시내역을 확인하세요!
git log --oneline

C:\Users\User\git\diva\diva_adm>git log --oneline
975d92e (HEAD -> develop, origin/develop) Merge branch 'chore_gitignore' into 'develop'
531d840 chore : (공통) .gitignore 파일 적용
a0a1722 Merge branch 'fix_file_upload' into 'develop'
91ff862 fix : (사용자) 파일 업로드 개수 수정
53229e2 Merge branch 'fix_systemlog_query' into 'develop'
9fa970f fix : (관리자) 시스템 로그 쿼리 수정
1edd86d Merge branch 'fix_add_check_url' into 'develop'
99cdfdf fix : (관리자) Dataset, Model 제목 중복 체크 url 추가
18a9aac (origin/master) fix : (공통) 오류페이지 퍼블 적용
1d1e16e fix : (사용자, 공통) JupyterNotebook 버튼 함수 추가(임시)
49f72ab fix : (관리자,공통) 롤 매핑을 위한 경로(url) 및 권한 관련 수정
0f998ca fix : (사용자) 프로필 수정 시, session 갱신 로직 추가
7e67ac4 feat : (사용자,공통) 마이데이터 파일, 폴더 경로 지정, UUID 생성 함수 추가
c9acb19 feat : (사용자) 마이데이터 다운로드 기능 추가 및 기타 로직 추가/수정
159c9c1 feat : (사용자) 마이데이터 전체 이동 추가 및 기타 오류 수정
884d2f1 feat : (사용자,공통) 마이데이터 단일 다운로드, 이름 바꾸기, 단일 이동, 삭제 기능 추가
9a692b3 feat : (사용자) 마이데이터 생성(저장), 조회 기능 추가
4758bb9 fix : (공통) 불필요한 properties 주석 처리, message 추가, 로그 servlet 설정 추가
6e648db fix : (공통) 뒤로가기시 '양식 다시 제출 확인' 오류 수정
85953b9 style : 모바일 폴더 추가 버튼 삭제
b0118fc style : my data 버튼 메뉴 스크롤 짤림 수정
52f76bc refactor : (Egov) 불필요한 파일 삭제
위의 내용을 예로 들어서 커밋ID 531d840 chore: (공통) .gitignore 파일적용 이라는 커밋을 날렸고
머지까지 된 상황이라고 했을때 (커밋ID975d92e)
커밋과 머지를 둘다 없애고 싶으면 되돌아가고 싶은 커밋ID를 사용하면 됩니다.
git reset --soft a0a1722

soft, mixed, hard 는 아래의 내용을 보시면 알 수 있듯이
soft는 Working Directory가 기존의 커밋상태로 유지되고
mixted 는 Staging Area가 지워집니다.
hard는 Working Directroy, Staging Area 둘다 지워지므로 조심해서 사용해야 합니다.

이렇게 되면 이제 로컬에서는 해당 커밋이 제일 위로 올라오겠죠? HEAD가 가리키는 포인터가 될거에요.
이제 원격 저장소로 push를 하면 끝입니다.
(-f는 강제로 push한다는 뜻이에요.)
git push -f origin 브랜치이름

'공부내용 정리 > git' 카테고리의 다른 글
github 잔디 안심어질 때 (1) | 2024.12.09 |
---|---|
[GitHub] 깃허브 협업하기 (0) | 2024.03.29 |
Git 정리 (0) | 2021.09.12 |