1. Branch란?
● 코드의 독립적인 작업을 위해 서로 다른 작업 공간을 만드는 것이다.
● 각 브랜치는 특정 기능이나 버그 수정을 위한 별도의 경로를 제공한다.
● 여러 개발자가 동시에 작업할 수 있도록 도와준다.
장점
● 브랜치를 사용하면 메인 코드에 영향을 주지 않고 실험하거나 개발할 수 있다.
● 작업이 완료되면 브랜치를 병합(merge)하여 변경 사항을 메인 브랜치에 통합할 수 있다.
2. Branch 생성 방법
2-1생성 명령어
git branch <브랜치이름>
2-2 예를 들어, test라는 브랜치를 생성하고 싶다면
git branch test
2-3 생성한 브랜치로 이동하려면 다음 명령어를 사용
git checkout test
git checkout -b test
3. 수정 & 개발 후 브랜치에 올리기
3-1 Add: 변경된 파일을 스테이징 영역에 추가.
add . (모든 파일 저장)
add <파일 이름> (특정 파일만 저장)
3-2 Commit: 변경 사항을 커밋.
git commit -m "메세지 입력"
3-3 Push: 로컬 브랜치의 변경 사항을 원격 브랜치에 푸시.
git push origin <브랜치 이름>
4. Pull Request 새성 및 작성
● Pull Request (PR)**는 코드 변경 사항을 다른 사람에게 검토받고 통합 요청하는 과정이다.
4-1 밑에 동그라미 그려진 곳에서 자신에 브랜치로 이동해야 함)
4-2 자신에 브랜치로 이동하면 pull request 버튼이 활성화 되어 있다.
4-3 버튼 클릭 후 작성
5. Merge란?
● Git에서 두 개의 브랜치를 하나로 통합하는 과정이다.
● 주로 작업한 브랜치의 변경 사항을 메인 브랜치(예: main 또는 master)에 통합할 때 사용된다.
● 머지를 통해 서로 다른 개발자들이 작업한 내용이나 기능을 결합할 수 있다.
6. Merge 과정
6-1브랜치 전환: 통합할 브랜치로 이동
git checkout main
6-2 Merge 명령 실행: 병합할 브랜치를 지정하여 merge
git merge <병합할 브랜치 이름>
6-3 충돌 발생 과정
A라는 개발자가 test.txt라는 파일 첫번째 줄에 hello 라고 입력 후 push했다.
test.txt
hello
B라는 개발자도 test.txt라는 파일 첫번째 줄에 hi라고 입력 후 push했다.
test.txt
hi
개발자 B가 main에 병합하려고 하면 충돌이 발생한다.
CONFLICT (content): Merge conflict in test.txt
'test.txt' 파일을 열어보면 다음과 같이 내용이 표시되어있다.
<<<<<<< HEAD
hello
=======
hi
>>>>>>> feature-B
이 부분을 수동으로 수정한 후, 예를 들어 다음과 같이 변경할 수 있다
hello hi (<<< === >>>> 지우면 된고 필요한 코드만 남기면 된다)
7. 최종 커밋
7-1수정 후, 파일을 추가하고 커밋
git add hello.txt
git commit -m "메세지 입력"
이렇게 하면 충돌이 해결되고 두 브랜치의 변경 사항이 통합된다.
8. 브랜치 삭제
8-1 브랜치 삭제 코드
git branch -d <브랜치이름>
8-2 강제 삭제 (병합되지 않은 브랜치): 만약 브랜치가 병합되지 않았다면, 강제로 삭제할 수 있다.
git branch -D <브랜치이름>
9. 원격 브랜치 삭제
9-1 원격 브랜치 삭제 코드
git push origin --delete <브랜치이름>
이렇게 하면 로컬과 원격의 브랜치가 모두 삭제된다.
'GIT' 카테고리의 다른 글
GIT자주 쓰일것 같은 명령어(지속적으로 업데이트) (0) | 2024.09.11 |
---|---|
Github 코드 백업하기(push, clone) (1) | 2024.07.16 |
Git기본 명령어(init, add, commit ,status, log) (4) | 2024.07.16 |