04 TRACE무엇을 남겼는가

목록을 자르고 판단해서 잘못된 원격에 push 했다

head -2로 원격 목록을 잘라 보고 첫 항목을 대상이라 단정했다. 되돌리기 어려운 대상은 전체를 본다.

어떤 모노레포에 원격이 4개 걸려 있었다. 목록을 이렇게 봤다.

git remote -v | head -2

첫 항목을 대상이라 단정하고 push 했다. 주 원격은 다른 곳이었다.

원인

목록을 잘라 놓고 판단한 것. 원격이 몇 개인지 모르는 상태에서 두 줄만 보고 "이게 그거겠지"로 넘어갔다.

피해는 없었다. 이미 있던 브랜치의 fast-forward라 덮어쓰기도 분기도 없었고, 세 곳의 SHA가 같아 정합은 유지됐다. 운이 좋았다는 뜻이지 판단이 옳았다는 뜻은 아니다.

바꾼 것

원격과 브랜치처럼 되돌리기 어려운 대상은 목록 전체를 보고 확정한다. headgrep도 붙이지 않는다. 네 줄을 다 읽는 데 드는 시간이, 잘못된 곳에 push 한 뒤 확인하는 시간보다 짧다.

딸려 나온 것

그 브랜치의 upstream이 원격이 아니라 로컬 master로 걸려 있었다. 그래서 git status의 ahead/behind는 원격과 아무 상관 없는 숫자였고, 인수 없는 git push는 의도와 다르게 동작할 수 있는 상태였다.

읽고 있던 숫자가 내가 생각한 것을 가리키지 않고 있었다는 점에서, 원인은 위와 같다.

githabit

기록

2026.08.26에 처음 커밋됐고, 이후 2번 더 손댔습니다.

  • e359a53Content: 한국어 원고의 어투를 다듬었다
  • 029cadaTopics: a controlled axis to browse by, and a filter that costs no JavaScript
  • 411ca64Content: six entries carried over from the vault

전체 빌드 기록 →