비전공자고 IT회사도 아니지만 회사 필요에 의해 깃헙갤에서 말 많은 C#으로 코딩하고 있고


IDE는 Visual Studio 2022, Git 도구는 Sourcetree 쓰고 있음


이번에 기존 프로그램 하나를 수정하는데, 나보다는 프로그래밍 짬 많은 동료 한 명이랑 하고 있음


기존 프로그램 있던 GitLab (GitHub은 아니네 ㅋㅋ) Repo에서 로컬로 Clone해왔고


기존 프로그램의 원래 브랜치를 A라 하면 동료가 A_1, 내가 A_2 브랜치에서 작업했음




어제까진 나는 동료의 수정사항은 신경 안 쓰고 내가 고칠 것만 고친 후에 A_2브랜치에 내 수정사항 push 하면


동료가 내 수정사항이랑 자기 수정사항을 같이 반영했음 (어제까진 branch merge는 아니었음, pull로 가져갔나?),


근데 오늘 동료가 본인의 A_1 브랜치에 내 A_2를 merge하고 나서 오늘부터 출장 나갔고 (그래서 동료한테 질문 못했고 깃갤에 하는거),


나는 merge 이후의 A_1 브랜치 내용을 pull해서 거기서부터 추가 수정을 해야 되는 상황임


그런데 A_1의 merge시점 브랜치 포인터를 선택하고 pull 눌렀는데 (원격 브랜치도 A_1로 설정함),


ㅅㅂ pull이 안 되더라??


에러메시지가 아마 'Please commit your changes or stash them' 였던 것 같음



질문1) 내가 merge 직전 push할 때, 그 전 push 대비 파일 3개 수정된 것 중 2개만 commit 및 push하긴 했었는데


(나머지 1개는 마이너한 거라), 혹시 commit 및 push 안했던 1개 파일 때문에 에러 떴던 건가? 그러면 어케 하는 게 정석임?





잠깐 멘붕할뻔했지만, merge 직전 push할 때의 A_2 브랜치 포인터로 되돌리기였나 써서 어케어케 하니


어떻게든 pull이 되긴 했음.


그런데 Visual Studio로 로컬 다시 열어보니까, ㅅㅂ 동료가 해 놓은 수정사항이 전혀 안 보이더라?


그냥 내가 로컬에서 내 꺼 수정하고 push 할 때의 코드가 그대로 보임...


이게 뭔가 싶었는데, 자세히 보니 화면 왼쪽에 코드 줄번호랑 코드 사이에 파란색/ 빨간색 표시 (변경내용)가 여러 개 있길래


그거 클릭해보니까, 그제야 동료가 해 놓은 수정사항이 보이더라.


그리고 '변경 내용 실행 취소' 였나?를 누르니까 그 부분에서 동료가 해 놓은 수정사항이 반영되던데,


문제는 내가 일괄적용하는 방법을 모르는 빡대가리라, 변경내용을 하나하나 다 찾아서 실행 취소를 눌러야 됐음 ㅅㅂ


어떻게든 다 찾아서 실행취소 눌러서 동료 수정사항 반영하고 내가 고칠 부분도 고쳐서 A_2에 push까지 하고 퇴근하긴 했는데...



질문2) pull 했는데 Visual Studio에서 동료 수정사항 안 보이는거, 이거 원래 그런거임?


그리고 pull 대상 브랜치의 수정사항을 일괄적으로 내 로컬에 반영하려면 무슨 기능 써야 됨?





쓰고보니 ㅈㄴ ㅈ밥같아서 맘이 아프다... 형아들 도와줘