다른 팀원이 최신화시킨 원격 dev 브랜치를 가져올 때...
318
작성한 질문수 51
팀원들과 토이프로젝트를 하다가 궁금한 git pull 과 관련하여 궁금증이 생겨서 질문드립니다... github에 원격 master 브랜치로부터 원격 dev 브랜치를 만들고 거기서 파생된 feature 작업브랜치에서 다시 개인 이름을 넣어 개인 작업 브랜치를 통해 로컬에서 작업했는데요. 이 때, 다른 팀원이 작업한 내용을 dev에 merge 했고 그 최신 내용을 제 로컬 작업브랜치에 추가로 가져오고 싶은데 이럴 때 어떻게 하면 좋을까요...?
먼저 로컬 dev 브랜치로 체크아웃을 하고 git pull origin dev 명령어를 통해 로컬 dev 브랜치를 최신화시켰습니다. 그 다음에 개인 로컬 작업 브랜치로 다시 체크아웃하고 git merge dev 를 통해 최신화된 로컬 dev 브랜치를 작업 브랜치에 병합시켰는데요. 커밋 해야할 내역을 보니 이전에 다른 팀원들이 원격에서 최신화한 내용들이 변경사항으로 들어가있더라구요... 그래서 그 부분까지 커밋하게되면 그 분들이 작업한 부분을 제 커밋메세지로 덮어쓸거같아서 걱정입니다.. 제가 어느 부분에서 잘못 진행한걸까요...?
답변 1
0
안녕하세요, 인프런 AI 인턴입니다.
초보개발자님이 진행한 과정은 일반적인 워크플로우에 따라 올바르게 진행하신 부분으로 보입니다. 원격 dev 브랜치의 최신 변경사항을 로컬 dev 브랜치에 반영하고, 이를 개인 로컬 작업 브랜치에 병합하는 과정은 협업 시 자주 사용되는 방식입니다.
병합 과정에서 다른 팀원들이 원격에서 최신화한 내용이 변경사항으로 나타나는 것은 정상적인 현상입니다. git merge 명령어를 사용할 때, git은 두 브랜치의 차이점을 합치려고 시도하고, 이 과정에서 양쪽 브랜치의 커밋들을 새로운 커밋으로 통합합니다.
병합 후에 생성되는 커밋에는 여러 개발자의 변경사항이 포함될 수 있으며, 이 커밋 메시지는 병합을 나타내는 메시지로, 다른 개발자의 작업을 덮어쓰지 않습니다. 병합 과정에서 생성된 커밋은 주로 “Merge branch ‘dev’ into [개인 작업 브랜치 이름]“과 같은 메시지를 사용합니다.
따라서, 다른 팀원들의 작업을 커밋 메시지로 덮어쓰는 것이 아니라, 여러분의 작업 브랜치에 dev 브랜치의 변경사항을 정상적으로 병합한 것입니다. 이 과정에서 중요한 것은 병합 시 발생할 수 있는 충돌(conflict)을 적절히 해결하는 것입니다.
만약 병합 과정에서 충돌이 발생하지 않았고, 병합된 커밋이 정상적으로 생성되었다면, 여러분은 올바르게 작업을 진행하신 겁니다. 추후에 이 작업 브랜치를 다시 원격 dev 브랜치에 병합(또는 Pull Request를 통해)할 때, 다른 팀원들의 변경사항과 함께 여러분의 변경사항도 함께 병합됩니다.
변경사항을 확인하는 과정에서 혼동이 생기신 것 같은데, 걱정하지 않으셔도 됩니다. 협업시 git을 사용하는 목적 중 하나가 바로 이러한 변경 관리이며, git는 여러분의 작업이 다른 개발자의 작업을 덮어쓰지 않도록 합니다.
왜 여기서는 둘 다 선택해서 하는걸 안알려주는지 궁금하네요
0
11
1
cherry pick 질문입니다.
0
39
2
supabase연결이 쉽지 않네요
0
43
2
[문의] 깃 워크트리
0
59
1
코딩문의
0
53
1
깃 풀(git pull)에 대한 궁금증이 있습니다!
0
58
1
섹션7 수업자료 업로드 부탁드립니다.
0
48
2
gitforwindows에서 맥은 뭘 다운받아야 하나요...?
0
65
2
d-day count소스및 그라비티에서 기술하면 뭔가 내용이 안나오네요
0
42
1
간단한 사이드 프로젝트 작성에도 Max 요금제를 결제하는게 좋을까요?
0
94
3
git 커밋한 내용 궁금합니다.
0
43
1
충돌의 최소화 파트 질문입니당!
0
37
1
자바스크립트 파일 중, DOM 영역에서 querySelector가 아닌 다른 함수를 쓰는데 괜찮을까요?
1
114
2
48강에 필요한 아스키아트 자료가 첨부되어 있지 않습니다.
0
65
2
mac python 3.10 - permission denied
0
73
1
26강 [게임 메인 루프 및 메뉴 구현]에서 2가지 오류가 있어서 남기게 되었습니다.
0
81
2
Rider에서 .ignore 플러그인으로 .gitignore 파일 내용 생성시 Csharp으로 검색되는 내용이 없습니다.
1
79
2
EC2 설정보다 RDS를 먼저 설정하는 이유
0
140
1
pull할때
0
52
1
기획과 개발 반복 실습 질문
0
156
1
Claude max 와 Chat gpt Pro
0
333
1
[널널한 개발자 바이브코딩 팔로워들] 오픈 카톡방 개설!
0
194
2
깃헙 작업 완료된 develop 브랜치 질문
0
98
2
강의자료 부탁드립니다.
0
60
1





