본문 바로가기
programing/git

[ git ] vscode에서 브런치 머지하기 (3) -- git graph

by 궈능비 2022. 9. 1.
728x90
반응형

 

git graph 사용법은 아래의 글을 참고해주세요

 

2022.08.31 - [git] - [ git ] vscode에서 브런치 연동하기 - git graph

 

[ git ] vscode에서 브런치 연동하기 - git graph

vscode에서 브런치를 생성해보겠습니다 우선 extenshions에서 git graph를 깔아주세요 깔았으면 이제 자기 git으로 가서 브런치를 하나 작성해줍니다 브런치를 만드셨으면 코드를 눌러주세요 (초록버튼

kwon-eb.tistory.com

 

git graph에서 브런치 분기하는 방법은 아래의 글을 참고해주세요

2022.09.01 - [git] - [ git ] vscode에서 브런치 분기하기 -- git graph

 

[ git ] vscode에서 브런치 분기하기 -- git graph

vscode에서 git을 사용하는 방법은 밑의 블로그 글을 참고해주세요 2022.08.31 - [git] - [ git ] vscode에서 브런치 연동하기 - git graph [ git ] vscode에서 브런치 연동하기 - git graph vscode에서 브런치를..

kwon-eb.tistory.com

 

오늘은 브런치를 머지해보려고 합니다

 

머지해야 할 때 충돌이 날 수도 있고 안 날 수도 있습니다

 

아무래도 브런치를 분기한 뒤 오랫동안 머지하지 않았다면 파일 충돌이 날 가능성이 매우 높은 것 같습니다

 

이를 방지하기 위해 저는 케이스를 나눠서 한번 머지 작업을 해보려고 합니다

 

제가 생각하는 케이스는 다음과 같습니다


case 1.

main은 수정이 없는데 sub에 수정이 있을 경우

or

main도 수정이 있고 sub도 수정이 있지만 서로 다른 파일을 수정했을 경우

 

case 2.

main, sub가 같은 파일을 수정했을 경우 - 한 개 파일

 

case 3.

main, sub가 같은 파일을 수정했을 경우 - 여러 파일 및 폴더


case 1, 2는 쉽지만 case 3이 조금 까다롭습니다

 

순서대로 한번 머지 작업을 해보겠습니다


main : main

sub : test_git_1

브런치라고 생각해주시면 됩니다



case 1 [ main은 수정이 없는데 sub에 수정이 있을 경우 ]

+  [ main도 수정이 있고 sub도 수정이 있지만 서로 다른 파일을 수정했을 경우 ]

 

2022.09.01 - [git] - [ git ] vscode에서 브런치 머지하기 (1) -- git graph

 

[ git ] vscode에서 브런치 머지하기 (1) -- git graph

git graph 사용법은 아래의 글을 참고해주세요 2022.08.31 - [git] - [ git ] vscode에서 브런치 연동하기 - git graph [ git ] vscode에서 브런치 연동하기 - git graph vscode에서 브런치를 생성해보겠습니다 우..

kwon-eb.tistory.com


case 2 [ main, sub가 같은 파일을 수정했을 경우 - 한개 파일 ]

 

2022.09.01 - [git] - [ git ] vscode에서 브런치 머지하기 (2) -- git graph

 

[ git ] vscode에서 브런치 머지하기 (2) -- git graph

git graph 사용법은 아래의 글을 참고해주세요 2022.08.31 - [git] - [ git ] vscode에서 브런치 연동하기 - git graph [ git ] vscode에서 브런치 연동하기 - git graph vscode에서 브런치를 생성해보겠습니다 우..

kwon-eb.tistory.com

 


case 3 [ main, sub가 같은 파일을 수정했을 경우 - 여러 파일 및 폴더 ]

 

case 2 브런치에서 이어서 작업하겠습니다

 

저는 main 브런치에 폴더 하나를 새로 만들겠습니다

폴더 이름은 test라고 할게요

 

그리고 test 폴더 안에 01이라는 폴더를 하나 더 만들겠습니다

 

그런 뒤에 01 안에 test.py를 생성하겠습니다

# test_main.py


def test_test_main():
    print("test_test_main")


if __name__ == "__main__":
    test_test_main()

폴더 구조는 이렇게 됩니다

 

 

그리고 저는 기존에 있던 test_git_1.py에서 test_git_one_v2 함수를 지우겠습니다

 

수정한 파일은 다음과 같습니다

# test_git_one.py


def test_git_one():
    print("test_git_one")


def test_main():
    print("test_git_one")


if __name__ == "__main__":
    test_git_one()
    test_main()

 

그대로 커밋합니다

 

이제 test_git_1 브런치로 이동합니다

 

a.py 파일을 수정합니다

 

# a.py


def test_git_one():
    print("test_git_one")

def test_git_one_v2():
    print("test_git_one_v2")


if __name__ == "__main__":
    test_git_one()
    test_git_one_v2()

 

그리고 test폴더를 만들고 그 안에 01폴더를 만듭니다

 

01 폴더 안에 test.py를 만듭니다

 

# test.py


def test_test_git_one():
    print("test_git_one")


if __name__ == "__main__":
    test_test_git_one()

 

이제 그대로 커밋합니다

 

이제 머지하러 가겠습니다

 

main <- test_git_1으로 머지합니다

 

충돌은 2개의 파일에서 나게 됩니다

 

 

이 경우에는 자동 머지가 안됩니다

 

수동으로 머지해야 합니다

 

ctrl + c, ctrl + v를 잘 이용하세요

 

 

머지한 뒤에 잘 확인해주세요

 

accept merge를 눌러주세요

 

a.py도 확인합니다

 

왼쪽이 main, 오른쪽이 sub입니다

 

저는 print(1)도 살리고 싶어요

 

그러면 a.py에 마이너스 버튼을 눌러주세요

 

그러면 staged charges에 있던 파일이 changes로 이동합니다

 

이제 수동으로 수정해주세요

 

수정했다면 플러스 버튼 클릭

 

그러면 다시 staged changes로 갈 겁니다

 

 

이렇게 파일이 있을 건데요

 

이제 그대로 커밋해줍니다

 

main에서 커밋이 제대로 됐는지 확인하려면 커밋된 항목을 클릭해주세요

 

 

이렇게 나오면

 

파일을 하나씩 눌러보면 변경된 부분을 확인할 수 있습니다

 

 

제대로 커밋됐네요

728x90
반응형

댓글