Git 7

Git | 특정 파일만 Stash 하기

로컬 환경에서 작업할 때 설정 파일을 건드리는 경우가 많은데,이전에는 모든 작업 내용을 한꺼번에 stash 했기 때문에 변경한 설정 파일들도 같이 저장되어 여간 불편한 게 아니었다. 그래서 특정 파일만 stash 하는 명령어가 분명히 있을 것이다 라고 생각하고 찾아보았다. git stash push -m "stash message" 파일절대경로 여러 개의 특정 파일을 stash 하고 싶다면 첫 번째 파일경로 옆에 한 칸 띄우고 두 번째 파일의 절대경로를 작성하여 실행하면 된다.

Git 2025.01.07

Git | remote ref does not exist 오류 해결

git remote branch들을 정리를 위해 삭제하다 보면 가끔 이런 에러를 마주치는 경우가 있다. error: unable to delete 'branch name': remote ref does not exist remote에 삭제하려는 브랜치가 존재하지 않아 삭제할 수 없다고 나오는데, fetch 명령어를 통해 로컬 저장소의 원격 브랜치를 업데이트하여 원격 저장소의 상태와 일치시켜 주어야 한다. git fetch -p origin 동기화 한 뒤, 현재 브랜치를 확인하고 싶다면 다음의 명령어를 실행시키면 된다. git branch -r

Git 2024.02.02

Git | 로컬 및 원격 브랜치 삭제하기

로컬 브랜치 삭제 명령어 git branch -d [branch_name] git branch -D [branch_name] git branch -D [branch_name] 명령어의 '-D'는 '--delete --force'의 줄임말로, 브랜치를 강제로 삭제하기 때문에 주의해서 사용해야 한다. 원격 브랜치 삭제 명령어 git push origin --delete [branch name] 원격 브랜치는 로컬 브랜치 삭제와는 다르게 push를 써야한다. git push origin -d [branch_name] 도 '-d'가 '--delete'의 줄임말이기 때문에 동일하게 동작한다.

Git 2024.01.04

Git | 삭제된 Commit 복구하기

거의 막바지에 다다른 프로젝트의 마무리를 내가 맡게 되었다. 해당 프로젝트의 Git도 마무리 단계였기 때문에 나 혼자서 commit을 여러 번 하고, squash 하여 push 하는 식으로 사용하고 있었다. 여느 때와 같이 git rebase -i HEAD~3 명령어를 써서 squash를 하려고 했는데, 아무생각 없이 squash 해야 하는 두 commit 내역을 dd 명령어로 지워버렸다. 다행히 commit log 들이 남아있기 때문에, 이 log를 검색해서 복구할 수 있었다. 1번 커밋부터 3번 커밋까지 총 3번의 커밋을 한 뒤, git rebase -i HEAD~3 으로 squash 를 하려 했으나 실수로 2, 3번 커밋을 삭제하였다. git graph 에는 2, 3번 커밋 내역이 사라져버렸다.. ..

Git 2022.08.26

Git | Stash 복구하기

나는 한 branch에서 작업을 하다가 다른 branch로 check out을 해야 할 때 stash를 자주 사용한다. 그런데 최근에 많은 고객사를 혼자서 대응해야 하느라 정신이 없었는데, stash를 해두고 다른 branch에서 작업을 한 후, 돌아와서 적용을 해야하는데 삭제를 해버렸다. 코드의 양이 얼마 되지 않았으면 그냥 다시 작성했을텐데, stash를 하기 전에 44 changed files를 봤었기 때문에 정신이 아득해졌다. 다행히도 삭제된 stash를 복구하는 방법이 있어서 무사히 작업을 끝낼 수 있었다. stash 를 총 3개 만든 뒤 하나를 삭제하면 stash 리스트를 불러와도 삭제된 stash는 당연하게도 나오지 않는다. // 삭제된 stash 리스트를 가져온다. git fsck --un..

Git 2022.05.30