임시보관함 1개로 버티기

  • 이 작업, 저 작업 왔다 갔다 진행하고 있을 때라면 더더욱 진행 상황을 보관할 곳이 필요하다. 그럴 때 쓰는 명령어가 `git stash`이다. 아직 커밋을 하기는 좀 부족한데 당장 다른 것과 섞이게 하고 싶지는 않을 경우에, 간단하게 `git stash`로 보관하고, `git stash apply`로 가져올 수 있다.
  • 물론 stash의 인덱스를 활용해서 골라 가져오는 방법도 있지만, 그게 아니고서는 한 번에 하나만 보관해야 한다는 단점이 있었다. 처음부터 그 단점을 느낀 건 아니었지만, 이 명령어를 하도 사용하다 보니 가끔 아쉬웠다. A라는 작업에서 이미 `git stash`를 한 번 썼는데 B라는 작업으로 잠깐 옮겨 가서 또 다른 일을 벌이던 중에, 다시 A로 돌아가야 할 일이 생긴다거나. 한 번에 한 가지 일을 진득하게 해서 끝내버린다면 필요 없을 일이겠지만...(머쓱)

임시보관함 여러 개 쓰기

  • `git stash`를 하는 순간부터 내가 이 stash에 이름을 정해주고 싶을 때는 이렇게 해 주면 된다. 예를 들어 stash_name이라는 이름을 넣어주고 싶다고 하면 이런 모양새가 될 것이다.
git stash push -m stash_name
  • 나중에 이 stash를 가져올 때는 이렇게 가져오면 된다.
git stash apply stash^{/stash_name}
  • 그런데 여기서 만약 stash에 띄어쓰기를 포함한 이름을 정해줬다면, 따옴표로 한 번 묶어줘야 한다. 예를 들면 다음과 같다.
git stash push -m 'I want to push this sentence'
  • 가져올 때도 마찬가지이다.
git stash apply stash^{/'I want to push this sentence'}

오늘은

  • 다이얼로그 작업은 아직도 끝나지 않았다. 깃 컨플릭인데 컨플릭만 해결한다고 사라지지 않는 어떤 문제가 생겨서 끙끙대다 어찌어찌 간신히 처리 완료한 줄 알았더니 아니었고...
  • 내가 푸시한 깃을 풀 받은 승규님이 화면 공유로 확인시켜 주시는데 '내가 작업한 게 안 올라감 + 무슨 이유에선지 로컬에만 남아 있음' 상태여서 적잖이 당황. 내가 손을 댄 파일이 애초에 몇 개 없었기 때문에 일단 전부 스테이지에서 내린 후 stash 해놓고 작업하던 로컬 브랜치 삭제하고 아까 푸시한 브랜치 다시 풀 받아서 git stash apply로 겨우 살렸다. 
  • 그러고 나니 뭐 많은 걸 한 게 아닌데도 그동안 차곡차곡 쌓여 왔던 온갖 생각이 한꺼번에 몰려왔다. 모르는 게 너무 많고, 아는 건 제대로 못 쓰고, 사실 저 바깥에 뭐가 있는지도 잘 모르고, 알려면 알 수 있고 보려면 볼 수 있는데 왜 항상 뭔가 부족한 상태에서 무작정 나아가려고만 하는 거지.
  • 구멍이 많은데 그걸 메우기보다 일단 구멍을 피해서 가기만 하는 게 과연 상책일까. 구멍을 메우는 행동 자체가 당장에는 시간을 많이 쓸 것 같아도 어쩌면 결과적으로는 목적지까지 나를 빠르게 안내할 지도 모를 일이고, 설령 그 순간이 당장 지금이 아닐지라도 이게 쌓이고 쌓이면 나중에 구멍이 하나라도 적은 길을 가게 될 수도 있다.
  • 앞으로 아무리 열심히 나아가려 한들 그 속도에 향상이 없다면, 반대의 경우에 비해서는 제자리걸음을 하고 있는 거나 마찬가지 아닌가.

+ Recent posts