macOS + zsh 환경 설정 완벽 가이드 (.zprofile vs .zshrc)
PATH를 .zprofile에 넣었더니 IntelliJ 터미널에서만 안 잡히는 이유를 두 파일의 실행 시점 차이로 갈라 정리하고, 잘못된 설정 한 줄로 터미널이 죽었을 때의 진단·복구 절차까지 붙였다.
태그
11편 · 아카이브에서 필터로 보기
PATH를 .zprofile에 넣었더니 IntelliJ 터미널에서만 안 잡히는 이유를 두 파일의 실행 시점 차이로 갈라 정리하고, 잘못된 설정 한 줄로 터미널이 죽었을 때의 진단·복구 절차까지 붙였다.
rebase가 미추적 파일을 덮어쓸까 봐 멈추는 이유를 워킹 트리 보호 원칙으로 짚고, squash로는 왜 풀리지 않는지와 stash -u로 치운 뒤 이어가는 해결 순서를 정리했다.
이미 원격까지 올라간 .gradle·build 디렉터리를 되돌리려고 git rm --cached로 인덱스에서만 걷어내고 commit --amend로 마무리한 기록. 마지막 커밋·과거 커밋·이력 완전 삭제까지 상황별 명령을 표로 갈라 두었다.
네임스페이스가 Terminating에서 멈춰 지워지지 않는 이유를 Finalizer 동작 구조로 설명하고, 컨트롤러가 죽어 정리가 끝나지 않을 때 finalizer를 걷어내 강제 삭제한 절차와 그 위험을 남겼다.
장애가 나면 반사적으로 치게 되는 kubectl 명령을 상태 확인 → 이벤트·로그 진단 → 재시작 → 재확인 순서로 묶어둔 짧은 명령어 모음.
Loki와 Grafana가 통신하지 못하는 장애를 거슬러 올라가니 Calico ServiceAccount에 RBAC 권한이 없어 CNI가 아예 동작하지 못한 것이었고, ClusterRoleBinding으로 권한을 주자 아래 서비스들이 연쇄로 복구된 진단 기록.
프로메테우스와 Loki를 올렸는데 Pod가 READY 1/1이 되지 않고 멈춘 원인이 CNI 플러그인 부재였음을 확인하고, Calico를 설치해 Pod IP 할당부터 되살린 기록.
GitHub Actions가 저장소 파일을 지운 뒤 git pull로 로컬까지 날아간 상황을, 마지막 정상 커밋에서 recovery 브랜치를 따고 develop을 reset --hard로 되돌려 복구한 기록.
update 중 충돌이 나면 SVN이 만들어 두는 .mine·.rNNN 파일이 각각 무엇인지 짚고, mine-full·theirs-full·수동 편집 세 갈래로 해결한 뒤 resolved로 닫는 절차를 정리했다.
코드리뷰가 끝난 PR이 메인 브랜치와 충돌했을 때 merge 대신 rebase로 이력을 일직선으로 유지하며 푼 과정. GitHub의 세 가지 머지 방식 차이도 함께 짚었다.
로컬 메인과 원격 메인이 어긋난 두 상황을 나눠, 기능 브랜치는 rebase로 원격 메인 위에 다시 얹고 어긋난 로컬 메인은 초기화해 정리한 기록.