깃에대해 이해를 하기 위해서 열심히 구글링하고 익혔다.
정리해 두지 않으면 미래에 또 까먹고 힘들테니 정리를 해두자!
Git Branch
깃 브랜치를 만드는 방법이다
기본적으로 git branch [브랜치 이름]을 하면 생성된다.
중복일 경우 앞에 경로를 붙여서 구분도 한다.
branch는 나뭇가지라는 뜻인데 왜 나뭇가지인지 이번에 좀 더 깊게 이해하게 된 것 같다.
- git init으로 시작을 한다. 깃의 커밋정보나 깃관련 파일들이 저장되는 폴더이다. 필수!
최초로 깃 브랜치를 만들기 위해서는 기본 파일이 먼저 커밋되어 있어야 한다.
- touch main.txt 명령으로 파일을 만들어준다
- add 및 commit
- 자동으로
master
라는 브랜치가 생긴다
- 메인 브랜치를 자기가 원하는 브랜치명으로 하고싶다면
A작업을 하는 브랜치 생성
- git branch Awork 명령어로 Awork 브랜치를 생성했다.
- git switch Awork 명령어로 브랜치를 전환한다.
- touch a.txt 로 파일 생성 한 후 커밋
Git merge
main 브랜치에서 작업한 b.txt작업과 Awork 브랜치의 a.txt를 merge
- git merge Awork 문구로 머지!
- merge도 커밋이기 때문에 커밋 문구를 작성하는 창이 열림
- 머지완료!
conflict
main 브랜치에 있던 main.txt 파일과
Awork 브랜치에 있던 main.txt 파일을
각각 수정하면 merge시에 conflict가 남!
conflict가 예상이 되면 이런 창이 뜨는 듯 하다
- main 브랜치에서 main.txt를 작업한 모습
- Awork 브랜치에서 main.txt를 작업한 모습
CONFLICT!!
- 같은 파일을 각각 다른 브랜치에서 작업했기 때문에 충돌이 일어남
🤔 해결하려면?
- 해결하는 방법은 두가지
- 현재 main 브랜치에 main.txt 파일이 저렇게 작성되어 있으므로 원하는 값만 작성한 뒤 새로 커밋한다. (머지를 하지 않고 값을 복사 붙여넣기 해와서 독자적인 길을 간다는 느낌)
- Awork 브랜치에서 main 브랜치의 main.txt를 가져와서 작업을 한다.
2-1. git checkout main -- main.txt 명령어 사용
2-2. Awork 브랜치 의 main.txt 내의 값을 수정해서 커밋하는 느낌이라 머지가 가능