합치다 부딪힘

두 사람이 같은 파일을 고쳤을 때 진행이 멈추는 이유예요. 고장이 아니라 어느 쪽을 살릴지 사람이 정해 달라는 질문이고, 그중 몇 가지는 사장님만 답할 수 있어요.

쉽게 말하면

메뉴판을 두 사람이 각자 고쳐 온 날이에요. 아침 담당은 종이에 아메리카노 4,000원이라고 적어 왔고, 저녁 담당은 같은 줄에 아메리카노 4,500원이라고 적어 왔어요. 새 메뉴판을 옮겨 적는 사람이 여기서 손을 멈춰요. 다른 줄은 둘 다 그대로 옮기면 되는데, 이 한 줄만은 옮겨 적는 사람이 정할 수 없어요. 그래서 사장님에게 물어요. "이 줄은 어느 쪽으로 적을까요." 합치다 부딪힘이 정확히 이 순간이에요.

그래서 부딪힘은 고장이 아니라 질문이에요. 컴퓨터가 두 판본을 나란히 놓고 보다가, 같은 자리가 서로 다르게 고쳐진 것을 발견하고 멈춘 거예요.

멈춘 건 오히려 다행이에요. 안 멈췄다면 둘 중 하나를 조용히 지우고 넘어갔을 테니까요. 사고는 멈출 때가 아니라 말없이 덮어쓸 때 나요.

부딪힘이 없었다면
나중에 합친 쪽이 이김 · 앞사람 수정이 조용히 사라짐 · 아무 표시도 안 남음 · 며칠 뒤 손님이 발견

가격을 4,000원으로 고쳐 둔 작업이 소리 없이 지워져요. 화면은 멀쩡하고 오류도 안 떠요. 손님이 "어제 본 값이랑 다른데요"라고 말할 때 알게 돼요.

부딪혀서 멈췄을 때
합치기가 그 자리에서 정지 · 두 판본을 나란히 보여줌 · 어느 쪽을 살릴지 물음 · 정하기 전엔 아무것도 안 나감

그날 일이 반나절 늦어져요. 대신 지워진 것이 하나도 없고, 어느 쪽이 맞는지 사장님이 정한 대로 남아요.

왜 컴퓨터가 혼자 못 정하나

여기가 오해가 많은 자리예요. 같은 파일을 둘이 고쳤다고 무조건 부딪히는 건 아니에요. 부딪히는 조건은 하나로 좁혀져요. 같은 줄 근처를 서로 다르게 고쳤는가.

두 사람이 한 일합칠 때 어떻게 되나
한 명은 첫 화면을, 한 명은 주문 화면을 고쳤어요그냥 합쳐져요. 아무 일도 안 생겨요건드린 자리가 아예 달라서 겹칠 데가 없어요
같은 파일이지만 위쪽과 아래쪽을 각각 고쳤어요대개 그냥 합쳐져요같은 파일이라도 자리가 떨어져 있으면 둘 다 살릴 수 있어요
같은 줄을 한 명은 4,000원, 한 명은 4,500원으로 고쳤어요멈춰요. 사람이 정해 줘야 해요둘 다 살릴 방법이 없어요. 하나를 고르는 일은 판단이라 사람 몫이에요
한 명은 그 줄을 고쳤고, 한 명은 그 줄을 지웠어요멈춰요. 가장 헷갈리는 종류예요고친 값을 살릴지, 지운 결정을 살릴지는 의도를 아는 사람만 알아요
한 명이 파일 이름을 바꾸고, 한 명이 그 파일 안을 고쳤어요멈추거나 이상하게 합쳐져요옮겨진 파일과 고쳐진 파일이 같은 것인지 기계가 확신하지 못해요

부딪힘의 크기는 실력이 아니라 날수가 정해요

부딪힘이 많이 나는 건 누가 일을 못해서가 아니에요. 갈래를 오래 안 합쳤을 때 나와요. 하루 벌어진 차이는 겹칠 자리가 몇 군데 안 되고, 3주 벌어진 차이는 손댄 파일이 서로 수십 개씩 쌓여요. 자주 합치면 매번 가볍고, 미루면 한 번에 무거워요.

화면에 뜨는 표시 읽는 법

부딪힌 파일을 열면 낯선 기호가 끼어 있어요. 이게 바로 컴퓨터가 묻는 방식이에요. 무섭게 생겼지만 뜻은 세 줄이면 끝나요.

파일에 끼어 있는 표시무슨 뜻인가여기서 할 일
<<<<<<< 로 시작하는 줄여기서부터 부딪힌 대목이 시작된다는 표시예요읽기 시작하는 자리예요. 이 줄 자체는 나중에 지워요
그 아래 첫 덩어리지금 내가 서 있는 쪽의 내용이에요이쪽이 맞는지 눈으로 봐요
======= 가운데 줄위아래를 가르는 칸막이예요. 위가 한쪽, 아래가 다른 쪽이에요여기를 기준으로 두 판본을 비교해요
그 아래 두 번째 덩어리합쳐 들어오는 쪽의 내용이에요이쪽이 맞는지 눈으로 봐요
>>>>>>> 로 끝나는 줄부딪힌 대목이 여기서 끝난다는 표시예요여기까지가 한 건이에요. 파일에 이런 덩어리가 여러 개일 수 있어요

표시를 지우는 것까지가 한 건이에요

고를 쪽을 정했으면 안 고른 덩어리와 함께 표시 세 줄도 반드시 지워야 해요. 남겨 두면 그 기호가 그대로 코드에 섞여서 화면이 깨지거나 빌드가 실패해요. 실제로 흔한 사고가 이거예요. 정하는 건 맞게 했는데 뒷정리를 덜 해서 배포가 안 되는 거예요.

부딪혔을 때 진행되는 순서

직접 풀든 맡기든 순서는 같아요. 사장님이 파일을 열 일은 없더라도 지금 어느 걸음인지는 물어볼 수 있어야 해요. 여섯 걸음이에요.

  1. 1몇 군데인지부터 세요. 이 숫자 하나가 오늘 안에 끝날 일인지 아닌지를 정해요. 두세 군데면 금방이고, 수십 군데면 합치기를 잘게 나누는 쪽이 빨라요.
  2. 2부딪힌 대목마다 두 판본을 나란히 봐요. 어느 쪽이 새것인지가 기준이 아니에요. 어느 쪽이 맞는지가 기준이에요.
  3. 3판단이 필요한 대목은 아는 사람에게 물어요. 가격·문구·영업시간처럼 사실을 아는 사람이 사장님이면, 그 대목은 사장님이 답해야 진도가 나가요.
  4. 4한쪽만 고르지 말고 섞어야 하는 경우도 봐요. 한 명은 가격을, 한 명은 같은 줄의 오타를 고쳤을 수 있어요. 이럴 땐 둘 다 살린 한 줄을 새로 적어요.
  5. 5다 정했으면 화면에서 직접 눌러 확인해요. 부딪힘을 푼 결과는 원래 어느 판본에도 없던 새 상태예요. 그래서 합친 뒤 한 번은 눌러 봐야 해요.
  6. 6확인이 끝난 뒤에 합치기를 마무리해요. 여기서부터 본판에 들어가요. 손님 화면이 바뀌는 건 그다음 배포예요.

급할수록 다섯 번째를 건너뛰어요

부딪힘을 푸는 동안 사람은 "고르는 일"에 집중해서, 다 고르고 나면 끝난 기분이 들어요. 그런데 섞인 결과는 아무도 실행해 본 적이 없는 판본이에요. 양쪽 다 잘 돌던 코드가 합쳐서 안 도는 일이 여기서 나와요. 합친 날 한 바퀴 눌러 보는 5분이 가장 값싼 보험이에요.

사장님만 답할 수 있는 것

부딪힘은 전부 개발자 일처럼 보이지만, 실제로는 두 종류가 섞여 있어요. 기술 판단사실 판단이에요. 뒤쪽은 사장님이 답해야 진도가 나가요.

부딪힌 대목누가 정하나물어야 할 한마디
가격, 배송비, 할인 조건사장님이에요. 지금 파는 값을 아는 사람이 정해요"오늘 기준으로 맞는 값이 어느 쪽인가요"
화면에 나가는 문구, 안내 문장사장님이에요. 손님에게 무엇을 약속했는지가 기준이에요"둘 다 살려서 한 문장으로 적을까요"
영업시간, 휴무, 연락처사장님이에요. 바깥 사실이라 코드로는 못 가려요"바뀐 게 있으면 지금 알려 주세요"
화면 구조나 파일 배치개발자나 AI가 정해요"이건 알아서 정해 주세요"
같은 기능을 두 방식으로 만든 경우만든 쪽이 정하되 이유를 남겨요"어느 쪽을 왜 살렸는지 한 줄만 적어 주세요"

장면 1 · 합치는 날 개발자가 물어 왔다

가격 줄이 충돌났는데, 4,000원이랑 4,500원 중에 어느 쪽이 맞나요.

이건 기술 질문이 아니라 사실 질문이에요. 답을 아는 사람이 사장님뿐이라 여기서 답이 늦으면 합치기가 통째로 멈춰요. 그리고 되물을 게 하나 있어요. "몇 군데가 이런 종류인가요." 사실 판단이 여러 건이면 한 번에 모아서 답하는 편이 서로 빨라요.

확인해 보세요

"충돌이 나서 오늘 합치기는 못 할 것 같아요"라는 말을 들었어요. 가장 먼저 물을 말은?

덜 부딪히게 만드는 습관

부딪힘은 없앨 수 없어요. 둘 이상이 같은 코드를 고치는 한 언젠가는 만나요. 대신 한 번의 크기를 줄이는 방법은 확실해요.

습관무엇이 달라지나언제부터 필요한가
갈래를 짧게 쓰고 자주 합쳐요부딪힐 자리가 쌓이기 전에 만나요. 한 번이 몇 분으로 끝나요사람이 둘이 된 날부터요
누가 어느 화면을 맡는지 미리 갈라요같은 파일을 동시에 여는 일 자체가 줄어요작업을 나눠 맡기기 시작할 때요
합치기 전에 본판 최신 내용을 먼저 가져와요부딪힘을 내 갈래 안에서 미리 만나요. 본판은 안 흔들려요항상요. 순서만 지키면 돼요
손대는 파일 목록을 작업 전에 알려요겹치면 시작 전에 알아서 순서를 바꿀 수 있어요외주와 함께 일할 때요
한 번에 한 가지만 고쳐서 합쳐요부딪혀도 무엇 때문인지 바로 보여요커밋을 쌓기 시작한 뒤부터요

직접 해보기

손대는 자리를 먼저 물어보세요

만들고 있는 것이 있으면 스튜디오에서 이렇게 말해 보세요. "이 수정이 어떤 화면과 파일을 건드리는지 먼저 알려 주세요. 보고 나서 진행할게요." 부딪힘은 손대는 자리가 겹칠 때 생기니까, 자리를 미리 아는 것만으로 절반이 예방돼요. 혼자 만들 때도 나중에 사람이 붙었을 때 그대로 쓰는 습관이에요.

스튜디오 열기

자주 묻는 것

Q. 충돌이 났다는데 제 작업이 사라진 건가요?
아니에요. 부딪힘은 아직 아무것도 안 정해졌다는 상태예요. 두 판본이 둘 다 그대로 있고, 합치기만 멈춰 있어요. 오히려 조용히 합쳐졌을 때가 위험해요. 그때는 한쪽이 소리 없이 덮어써졌을 수 있어요.
Q. 바이브캠퍼스 스튜디오에서 만들 때도 이 일이 생기나요?
채팅으로 만드는 동안에는 거의 안 만나요. 고치다 망쳤을 때는 되돌리기가 그 자리를 맡아요. 부딪힘이 등장하는 건 코드를 내려받아 깃허브에 올려 두고, 사람이 둘 이상 같은 코드를 고치기 시작한 다음이에요.
Q. 그냥 한쪽을 통째로 고르면 안 되나요?
될 때도 있고 안 될 때도 있어요. 두 사람이 아예 다른 목적으로 같은 줄을 고쳤다면 한쪽을 통째로 고르는 순간 다른 쪽 작업이 없던 일이 돼요. 그래서 순서가 있어요. 먼저 두 판본이 각각 무엇을 하려던 것인지 확인하고, 그다음에 고르거나 섞어요.
Q. 충돌을 푸는 데 시간이 얼마나 걸리나요?
군데 수와 종류로 갈려요. 문구나 값이 다른 정도면 한 건에 몇 분이에요. 같은 기능을 두 방식으로 만들어 놓은 경우는 고르는 게 아니라 다시 만드는 일이 돼서 하루가 넘어가기도 해요. 그래서 첫 질문이 늘 "몇 군데인가요"예요.
Q. 충돌을 잘못 풀면 어떻게 되나요?
화면은 멀쩡한데 값이 옛날 것으로 돌아가 있는 상태가 흔해요. 되돌릴 길은 남아 있어요. 합치기 전 시점이 기록에 그대로 있어서 이전 버전으로 돌리기로 손님 화면을 먼저 되돌리고, 그다음에 다시 풀면 돼요.
Q. 합치기 전에 미리 부딪힐지 알 수 있나요?
알 수 있어요. 합치기를 걸어 보면 실제로 합치기 전에 부딪히는 자리를 먼저 알려 줘요. 연습 무대가 있으면 거기서 합쳐 눌러 보고, 괜찮을 때만 본판으로 가져가는 순서로 만들 수 있어요.

장면 2 · 합친 다음 날 화면이 이상했다

어제 고친 안내 문구가 다시 옛날 걸로 돌아와 있어요.

부딪힘을 풀면서 한쪽을 통째로 고른 흔적이에요. 고른 쪽에 옛 문구가 들어 있었던 거예요. 순서는 정해져 있어요. 손님이 보는 화면을 먼저 맞춰 놓고, 그다음에 언제 어느 쪽이 선택됐는지 기록에서 찾아요. 같은 실수를 막는 방법은 하나예요. 문구나 값이 걸린 대목은 고른 결과를 사장님이 한 번 눈으로 보는 것이에요.

하나 더

한 사람은 가격을 고치고 다른 사람은 같은 줄의 오타를 고쳤어요. 어떻게 푸는 게 맞을까요?

더 깊이 (안 읽어도 괜찮아요)

왜 어떤 부딪힘은 조용히 지나가나 · 합칠 때 컴퓨터는 줄 단위로 비교해요. 서로 다른 파일이거나 같은 파일이라도 멀리 떨어진 줄이면 둘 다 살릴 수 있다고 판단하고 그냥 합쳐요. 문제는 줄은 안 겹쳤는데 뜻이 겹치는 경우예요. 한 명이 화면에서 가격 표시를 지우고, 다른 명이 다른 파일에서 그 가격을 계산하도록 고쳐 두면 부딪힘 표시가 하나도 안 뜨고 합쳐져요. 그래도 실행하면 안 돌아요. 부딪힘이 없었다는 말이 잘 합쳐졌다는 뜻은 아니라서, 합친 뒤 한 번 눌러 보는 걸음이 남아 있는 거예요.

부딪힘이 몰리는 파일이 따로 있다 · 겪어 보면 늘 같은 파일에서 부딪혀요. 모두가 손대는 자리라서 그래요. 설정을 모아 둔 파일, 메뉴 목록, 문구를 모아 둔 파일 같은 것들이에요. 이건 사람 문제가 아니라 배치 문제라, 그 파일을 성격별로 몇 개로 쪼개면 부딪힘 자체가 줄어요. 같은 파일 이름이 세 번 넘게 부딪힘 목록에 올라오면 그때가 쪼갤 때예요.

합칠 때 사람이 한 번 보는 관문 · 부딪힘을 줄이는 장치와 별개로, 합치기 전에 남이 한 번 보게 하는 관문을 두는 방식이 있어요. 무엇이 바뀌는지 목록으로 보여 주고 승인해야 본판에 들어가게 하는 거예요. 사람이 둘 이상이거나 결제가 걸린 화면을 다루면 이 관문 하나가 사고를 크게 줄여요. 설정은 깃허브 쪽 창고 설정에 있고, 사장님이 챙길 건 방식이 아니라 본판에 아무나 바로 넣을 수 없게 되어 있는가예요.

이것만 기억하세요

  • ·부딪힘은 고장이 아니라 어느 쪽을 살릴지 정해 달라는 질문이에요. 아직 아무것도 안 사라졌어요
  • ·첫 질문은 "몇 군데인가요"예요. 그 숫자가 오늘 일정을 정해요
  • ·가격·문구·영업시간이 걸린 대목은 사장님이 답해야 진도가 나가요
  • ·고르기만이 답은 아니에요. 두 사람이 다른 일을 했으면 둘 다 살려 한 줄로 적어요
  • ·크기는 실력이 아니라 미룬 날수가 정해요. 자주 합치면 매번 가벼워요
VibeCampusNew build