Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 자바네트워크
- 시스템
- 파이썬
- Spring boot
- Java
- GPT-4's answer
- 고전역학
- 소프트웨어공학
- android
- oracle
- lombok
- python
- JVM
- 역학
- 자바암호
- GIT
- write by GPT-4
- 뉴턴역학
- flet
- write by chatGPT
- 유닉스
- 웹 크롤링
- chatGPT's answer
- kotlin
- 코틀린
- Database
- 자바
- 리눅스
- 인프라
- NIO
Archives
- Today
- Total
Akashic Records
Git 브랜치(branch)와 병합(merge) 본문
728x90
Git에서 브랜치(branch)는 독립적인 작업 공간을 생성하는 것으로, 프로젝트의 다양한 기능 개발이나 버그 수정 등을 별도로 진행할 수 있게 합니다. 이렇게 생성된 브랜치는 원래의 코드와 변경 사항이 격리되어 있어, 다른 브랜치에서의 작업이 서로 영향을 주지 않습니다. 작업이 완료되면 브랜치를 병합(merge)하여 하나의 브랜치로 통합할 수 있습니다.
병합(merge)은 두 개의 브랜치를 하나로 합치는 과정입니다. 병합 시, Git은 두 브랜치의 변경 사항을 비교하여 자동으로 적용합니다. 충돌이 발생하면 수동으로 해결해야 합니다.
예시 코드:
- 저장소 초기화 및 기본 브랜치(main)에 파일 추가
$ git init
$ echo "Hello, World!" > hello.txt
$ git add hello.txt
$ git commit -m "Add hello.txt"
- 새로운 브랜치(feature-branch) 생성 및 이동
$ git checkout -b feature-branch
- 새로운 브랜치에서 파일 수정
$ echo "Hello, Git!" > hello.txt
$ git add hello.txt
$ git commit -m "Update hello.txt in feature-branch"
- main 브랜치로 이동 및 수정 사항 병합
$ git checkout main
$ git merge feature-branch
- 병합된 결과 확인
$ git log --oneline --graph --all
* 2f2d17e (HEAD -> main) Merge branch 'feature-branch'
|\
| * 7a6d1f3 (feature-branch) Update hello.txt in feature-branch
|/
* 9d6e2f6 Add hello.txt
위 예시를 통해 브랜치를 생성하고 이동하여 작업한 후, 변경 사항을 병합하는 과정을 확인할 수 있습니다. 이렇게 Git의 브랜치와 병합 기능을 사용하여 독립적인 작업 공간에서 코드를 수정하고, 완료된 작업을 통합할 수 있습니다.
브랜치 관리와 관련된 몇 가지 추가적인 Git 명령어를 소개하겠습니다.
- git branch: 현재 저장소에 있는 모든 브랜치 목록을 출력합니다. 현재 활성화된 브랜치 앞에 별표(*)가 표시됩니다.
$ git branch
* main
feature-branch
- git branch <new-branch>: 새로운 브랜치를 생성합니다. 이 명령어는 브랜치만 생성하고, 브랜치 이동은 하지 않습니다.
$ git branch another-feature
$ git branch
* main
feature-branch
another-feature
- git branch -d <branch-to-delete>: 브랜치를 삭제합니다. 이미 병합된 브랜치만 삭제할 수 있습니다.
$ git branch -d feature-branch
Deleted branch feature-branch (was 7a6d1f3).
- git branch -D <branch-to-delete>: 브랜치를 강제로 삭제합니다. 아직 병합되지 않은 변경 사항이 있는 브랜치도 삭제할 수 있습니다. 주의해서 사용하세요.
$ git branch -D another-feature
Deleted branch another-feature (was 9d6e2f6).
- git fetch: 원격 저장소의 변경 사항을 로컬 저장소로 가져옵니다. 이 명령어는 변경 사항을 로컬 작업 트리에 병합하지 않고, 브랜치 정보만 가져옵니다.
$ git fetch origin
- git pull: 원격 저장소의 변경 사항을 가져와 로컬 작업 트리와 병합합니다. 이 명령어는 git fetch와 git merge를 동시에 수행합니다.
$ git pull origin main
- git push: 로컬 저장소의 변경 사항을 원격 저장소에 푸시합니다. 이를 통해 다른 사용자와 협업하거나, 변경 사항을 원격 저장소에 백업할 수 있습니다.
$ git push origin main
이러한 명령어들을 사용하면 Git 브랜치를 관리하고, 원격 저장소와의 동기화를 유지하면서 작업을 진행할 수 있습니다. 이 과정을 통해 코드의 변경 이력을 추적하고 여러 개발자와 협업하며 프로젝트를 관리할 수 있습니다.
728x90
'Git' 카테고리의 다른 글
Git 브랜치 전략(Git Flow) (0) | 2023.03.25 |
---|---|
Git 원격 리포지토리 (0) | 2023.03.25 |
Git 상태 조회 및 변경 내용 확인 (0) | 2023.03.25 |
Git 기본 명령어 (0) | 2023.03.25 |
Git 설치 및 설정 (0) | 2023.03.25 |
Comments