👩🏻💻 정리/Git
-
[Git] git pull 되돌리는 방법 (reflog)👩🏻💻 정리/Git 2024. 9. 12. 11:25
한참 작업 중이던 브랜치를 임시 커밋한 뒤, 다른 브랜치로 이동하는 걸 까먹은 채로 다른 브랜치를 pull 받아버렸다;;그냥 다시 임시 커밋한 HEAD로 되돌리면 됐는데, 당황한 나의 손이 임시 커밋한 내역도 취소해버려서 작업 중이던 브랜치에 변동사항으로 기존 작업 내용 + pull 받은 변동 사항이 혼재되게 되어버렸다.아래는 pull받은 내용을 없애고, 임시 커밋했던 시점의 작업 시점으로 다시 되돌리기 위해서 진행한 방법이다.1. git reflog 명령어를 실행하여 pull 받기 직전의 커밋 해시 확인. git reflog2. 해당 커밋으로 돌아가기git reset --hard > HEAD is now at 3. HEAD is now at 가 보이면 해결된 것!생각보다 간단했다. git은 이제 웬..
-
[Git] 실수로 날라간 stash 복구하는 법👩🏻💻 정리/Git 2022. 12. 11. 01:37
7일 TIL에도 살짝 언급된 사연인데.. 때는 바야흐로 지난 화요일 새벽.. stash해놨던 untracked file이 날라간 사건이 발생했다. Git을 사용한지 그래도 거의 2년 가까이 되면서 이제 웬만큼 익숙해져 당황할 일이 많이 없었을 뿐더러 이렇게 파일이 날라간 일은 처음이기 때문에 당황스러웠다. 근데 다른 한편으로는 그래도 내 로컬에는 어떠한 히스토리라도 남아있지 않을까? 하는 생각이 들었고, 어떻게든 한번 복구시켜보리라는 마음으로 복구를 시도해보았다. 결과는 성공! 그렇다면 어떻게 성공했는지 기록으로 남겨보자. 우선 stash한 파일이 왜 날라갔는지부터 원인을 파악해보면..... 브랜치를 따서 작업하면서 작업을 완료하고 해당 브랜치에 push한다는 게 모르고 origin main으로 push..
-
[Git] 특정 브랜치 커밋 가져와 하나로 합치고 이름 바꾸는 방법! (cherry-pick & rebase)👩🏻💻 정리/Git 2022. 10. 4. 18:30
작업을 하면서 기능이 따로따로 분리되어 있어 다른 브랜치에서 작업했던 기능을 가져와서 새로운 브랜치에서 이어 작업하고 싶은 상황이 생겼다. 다행히도 깃 마스터인 옆자리 짝꿍 쥬쥬가 친절히 설명해주었고(🥰) 까먹지 않으려고 한번 기록해본다. 1. cherry-pick 해오기 $ git cherry-pick [특정 커밋 해시 주소] 먼저 가지고 오고 싶은 특정 커밋의 해시 주소를 복사한 후 터미널에 위와 같이 입력한다. 이때 만약 cherry-pick해온 커밋이 여러 개인 경우는 하나로 합쳐주고 싶을 수도 있다. 2. rebase로 합치기 $ git rebase -i HEAD~[커밋 개수] 나의 경우에는 가지고 온 커밋이 여러 개여서 하나로 합쳐주고 싶었고, 위와 같이 입력하였으며 커밋이 총 두 개였기에 H..
-
[Git] fatal: Could not read from remote repository 오류 해결 방법👩🏻💻 정리/Git 2022. 9. 19. 10:59
ssh: Could not resolve hostname github.com:bohyunkang: nodename nor servname provided, or not known fatal: Could not read from remote repository. Please make sure you have the correct access rights and the repository exists. 오늘 아침 코딩 테스트 문제를 다 풀고 push를 했는데, 위와 같은 오류를 출력하면서 push가 진행이 되지 않았다. 뭔지 찾아보니 config에 remote repository가 잘못 설정되어있어 출력된 오류였다. $ git remote -v originssh://git@github.com:bohyunka..
-
Git & Github👩🏻💻 정리/Git 2022. 8. 7. 20:53
1. Git 1.1 Git이 필요한 이유: 끊임없는 수정본의 문제점 변경 사항 파악 어려움 : 무엇을 바꿨는지? 되돌리기 어려움 : CTRL+Z의 한계, 삭제 파일 추적 불가 용량 차지 : N개가 있다면 N배 협업이 어려움 : 누가 언제 무엇을 건드렸나? 1.2 Git의 기본 idea VCS(Version Control System, 버전 관리 시스템) : 파일의 변경 사항을 저장하고, 원하는 시점의 버전을 다시 꺼내올 수 있는 시스템 Snapshot : 특정 시점에서 파일의 상태 (현재 상태의 모든 정보) Delta : 파일 이전 상태와 비교한 변경 사항 DVCS(분산 버전 관리 시스템), 저장소의 파일 시스템 전체를 스냅샷으로 취급하며 변경하지 않은 파일은 새로 저장하지 않고 링크만 저장하는 방식. ..