목차
1. Git Branch란
2. 간단한 조작법
3. intellij에서 사용하기
4. 충돌 해결
[1. Git Branch란]
1. 개념
- 기존의 코드를 복사하여 독립된 공간에서 다른 코드를 짤 수 있는 공간
- 기본이 되는 브랜치는 master
- 새 브랜치를 생성 후 코드를 작성하고 다른 브랜치에 병합(merge)하거나 삭제할수도 있음
- 기존의 코드를 다르게 바꿀 수 있는 연습장 개념
2. 조작하는 방법
- GUI 조작법 : 깃크라켄, 깃 데스크탑 등등
- CLI 조작법 : 각 환경의 터미널에서 사용 가능
- 통합개발환경 : Git을 조작할 수 있는 환경 제공
[2. CLI 기반 간단한 조작법]
- 터미널에서 조작
- 브랜치 목록 확인 : git branch (*q를 눌러 원래 화면으로 돌아오기)
- 브랜치 생성하기 : git branch 생성할_브랜치_이름
- 다른 브랜치로 이동하기 : git switch 이동할_브랜치의_이름 (checkout보단 이걸 사용하는게 더 나음 안정성 면에서)
- 브랜치 병합하기 : git merge 병합할_브랜치_이름
- 브랜치 삭제하기 : git branch -d 삭제할_브랜치_이름 (*병합되지 않은 변경사항이 있는 경우 삭제 불가)
- 브랜치 강제 삭제하기 : git branch -D 삭제할_브랜치_이름
[3. 인텔리제이에서 사용하기]
0. 준비
- 기본 코드
package com.example.git_branch_practice;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class GitBranchPracticeApplication {
public static void main(String[] args) {
Integer sum = 0, i;
for (i = 0; i < 10; i++)
sum += i;
System.out.println(sum);
}
}
- 터미널 열기
- on master = 지금은 master 브랜치(기본 브랜치) 위에 있다
1. 존재하는 브랜치 확인하기
- git branch입력
- 브랜치 목록이 나옴
- q를 눌러서 END, 터미널 화면으로 돌아오기
2. 브랜치 두 개 생성하기
- git branch feature1 입력
- git branch feature2입력
- git branch 입력해서 브랜치 확인
3. feature1, feature2 각각에서 코드 작성하기
(1) 코드 변경 전
feature1 | feature2 |
- 기본 코드의 sum에서 20을 뺀다
package com.example.git_branch_practice;
import org.springframework.boot.autoconfigure.SpringBootApplication;
public class GitBranchPracticeApplication {
public static void main(String[] args) {
Integer sum = 0, i;
for (i = 0; i < 10; i++)
sum += i;
sum-=20; //14번째줄
System.out.println(sum);
}
}
- commit 필수
- 터미널에 git switch feature2 입력하여 feature2로 이동
- 기존의 sum에 40을 더한다
package com.example.git_branch_practice;
import org.springframework.boot.autoconfigure.SpringBootApplication;
public class GitBranchPracticeApplication {
public static void main(String[] args) {
Integer sum = 0, i;
for (i = 0; i < 10; i++)
sum += i;
sum+=40; //14번째 줄
System.out.println(sum);
}
}
- commit 필수
- 두 코드를 비교하면, 같은위치에서 다른 변화가 생겼음을 알 수 있다
4. merge하기
- git switch feature1 : feature1브랜치로 이동한다
- git merge feature2 : feature1에 feature2를 merge시킨다
어떻게 될까
- 같은 위치에 서로 다른 내용의 변경이 있었으므로, 충돌이 발생한다!
충돌 해결은 다음 시간에***
'자유게시판 > 개발일기' 카테고리의 다른 글
오랜만에 쓰는 개발 일기 (0) | 2023.10.16 |
---|