본문 바로가기
자유게시판/개발일기

Git branch, IntelliJ에서 CLI로 사용하는법

by 상똥 2023. 12. 15.

목차

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