GIT 버젼 관리
참조
https://learn.microsoft.com/ko-kr/azure/devops/repos/git/gitworkflow?view=azure-devops
- git 충돌관리 https://www.freecodecamp.org/korean/news/how-to-resolve-merge-conflicts-in-git/
-
기본 명령어 3개만 기억: git add, git commit, git push
-
해당 명령어도 github Desktop GUI 를 통해 실행 가능
-
다만 git 쓰기가 무서운 이유는 충돌을 관리를 어떻게 해야할지 몰라서 이 글을 쓰면서 테스트 하고 있다.
용어 정리
Staging : git 에서 Stagin 이란 커밋하기전 변경된 파일 임시로 저장하는 공간
- git add 명령으로 변경된 파일을 올려두는 공간
버젼관리하는법 테스트
샘플 코드 위치
https://github.com/Leejeunghun/GIT_PRATICE
상황별 반응
- 원격에서 파일을 수정 하고 로컬에서 다시 수정 한경우
결과 : 동기화 화면이 나옴

해당 결과 스테이징하면 충돌이 확실히 보임

충돌 난 부분 수정하고 스테이징 하면 업로드가 됨
<<<<<
내가 로컬에서 수정한 부분
=====
원격에서 충돌난 부분
>>>>>
’
해당 식으로 진행하면 git 충돌은 1차원적인 경우 해결이 가능하다.
- 로컬에서 만든 파일과 원격에서 만든 파일 충돌 관리 하는 경우 어떻게 될까
결과 : 충돌 없이 진행이 잘된다.
- Branch 만들고 다시 합치는데 어떻게 기존 메인 브랜치가 변경되면 어떻게 될까 ?
결과 : 좋은 포인트 짚으셨어요 👍 🧩 상황 정리
- 메인 브랜치(main)에서 새로운 브랜치(feature)를 만듦
- feature 브랜치에서 작업을 진행
- 그 사이에 메인 브랜치가 다른 커밋으로 변경됨 (예: 팀원이 새로운 기능을 추가)
- 이제 feature 브랜치를 다시 main에 합치려고 함
🔄 결과: 병합 시나리오
- Fast-forward merge (빠른 병합)
- 메인 브랜치가 변경되지 않았다면, 단순히 포인터만 옮겨서 합쳐짐.
- 하지만 지금은 메인 브랜치가 이미 변경됐으므로 fast-forward 불가능.
- Three-way merge (3방향 병합)
- Git은 공통 조상(commit), 메인 브랜치 최신 상태, feature 브랜치 최신 상태를 비교해서 자동으로 병합.
- 대부분 자동으로 합쳐지지만, 같은 파일의 같은 부분을 수정했다면 conflict(충돌) 발생.
⚠️ 충돌(conflict) 발생 시
- Git이 자동으로 합칠 수 없는 부분은 충돌 표시(«««<, =======, »»»>)를 남김
- 개발자가 직접 어떤 변경을 반영할지 선택해야 함
- 충돌 해결 후 다시 git add → git commit 하면 병합 완료
댓글남기기