Branch : 공통의 작업을 공유하면서 각자 자신의 작업을 가짐
[브랜치의 사용법]
고객사 별로 브랜치 만들기
git branch “고객사이름”
브랜치 목록 보기
git branch
이전 버전으로 돌아가기
git checkout “고객사이름” → 즉, HEAD가 master에서 이 곳으로 이동
다시 원래대로 돌아가기
git checkout master → 브랜치 전환 : checkout
로그를 그래프 형태로 한 줄로 보기
git log –-all –-graph –oneline
브랜치 순서)
git branch “이름” → git checkout “이름” → nano → add → commit

커밋 메시지 수정하기
git commit –-amend
[브랜치 병합]
1. 파일명이 다를 때 / 2. 파일명이 같으나 다른 부분을 수정했을 때 / 3. 파일명이 같으며 같은 부분을 수정했을 때
(파일명이 다를 때) master 브랜치에 o2 브랜치 병합하기
git checkout master → git merge o2

병합 취소하기
git reset –hard 버전 번호
가장 최근 병합 취소하기
git reset HEAD^
(파일명이 같을 때, 다른 부분 수정) o2의 내용을 master에 병합
git checkout master → git merge o2 (같은 파일에서 다른 부분을 수정한 것을 합치면 알아서 수정되어 합쳐짐)
(파일명이 같을 때, 같은 부분 수정 → 충돌 발생) master에 o2 병합
git checkout master → git merge o2 → COMFLICT 발생, 자동 병합 실패, 충돌 해결 필요
→ nano를 통해 직접 수정 → git add
[외부 도구를 이용해서 병합하는 방법]
conflict이 발생했을 때 병합을 자동으로 해주는 외부 툴 (https://www.perforce.com/downloads/visual-merge-tool)
perforce에서 helix visual merge tool (p2 merge) 설치
→ git config –-global merge.tool p4mergetool
→ git config --global mergetool.p4mergetool.cmd \
→ git config --global difftool.p4merge.path 'C:\Program Files\Perforce\p4merge.exe'
→ git mergetool
→ base (공통의 조상), here (현재 속한 브랜치), there (가져올 브랜치) 를 보며 수정 및 저장
→ work.txt.orig의 내용을 확인한 후 확실하면 rm work.txt.orig
→ git commit
[reset vs checkout]
checkout (change의 개념)
head의 위치를 바꾸는 것
reset (delete의 개념)
브랜치를 바꾸는 것이므로,
브랜치가 가리키는 커밋을 바꾸면 그 커밋 이후에 등장하는 것은 링크가 끊기므로 삭제의 느낌을 가지게 됨


'GIT' 카테고리의 다른 글
[GIT] Cherry-pick & Rebase (0) | 2021.08.18 |
---|---|
[GIT] 협업 (0) | 2021.08.18 |
[GIT] 백업 (Backup) (0) | 2021.08.18 |
[GIT] 버전 관리 (0) | 2021.08.18 |
[GIT] GIT의 기본 (0) | 2021.08.18 |
Branch : 공통의 작업을 공유하면서 각자 자신의 작업을 가짐
[브랜치의 사용법]
고객사 별로 브랜치 만들기
git branch “고객사이름”
브랜치 목록 보기
git branch
이전 버전으로 돌아가기
git checkout “고객사이름” → 즉, HEAD가 master에서 이 곳으로 이동
다시 원래대로 돌아가기
git checkout master → 브랜치 전환 : checkout
로그를 그래프 형태로 한 줄로 보기
git log –-all –-graph –oneline
브랜치 순서)
git branch “이름” → git checkout “이름” → nano → add → commit

커밋 메시지 수정하기
git commit –-amend
[브랜치 병합]
1. 파일명이 다를 때 / 2. 파일명이 같으나 다른 부분을 수정했을 때 / 3. 파일명이 같으며 같은 부분을 수정했을 때
(파일명이 다를 때) master 브랜치에 o2 브랜치 병합하기
git checkout master → git merge o2

병합 취소하기
git reset –hard 버전 번호
가장 최근 병합 취소하기
git reset HEAD^
(파일명이 같을 때, 다른 부분 수정) o2의 내용을 master에 병합
git checkout master → git merge o2 (같은 파일에서 다른 부분을 수정한 것을 합치면 알아서 수정되어 합쳐짐)
(파일명이 같을 때, 같은 부분 수정 → 충돌 발생) master에 o2 병합
git checkout master → git merge o2 → COMFLICT 발생, 자동 병합 실패, 충돌 해결 필요
→ nano를 통해 직접 수정 → git add
[외부 도구를 이용해서 병합하는 방법]
conflict이 발생했을 때 병합을 자동으로 해주는 외부 툴 (https://www.perforce.com/downloads/visual-merge-tool)
perforce에서 helix visual merge tool (p2 merge) 설치
→ git config –-global merge.tool p4mergetool
→ git config --global mergetool.p4mergetool.cmd \
→ git config --global difftool.p4merge.path 'C:\Program Files\Perforce\p4merge.exe'
→ git mergetool
→ base (공통의 조상), here (현재 속한 브랜치), there (가져올 브랜치) 를 보며 수정 및 저장
→ work.txt.orig의 내용을 확인한 후 확실하면 rm work.txt.orig
→ git commit
[reset vs checkout]
checkout (change의 개념)
head의 위치를 바꾸는 것
reset (delete의 개념)
브랜치를 바꾸는 것이므로,
브랜치가 가리키는 커밋을 바꾸면 그 커밋 이후에 등장하는 것은 링크가 끊기므로 삭제의 느낌을 가지게 됨


'GIT' 카테고리의 다른 글
[GIT] Cherry-pick & Rebase (0) | 2021.08.18 |
---|---|
[GIT] 협업 (0) | 2021.08.18 |
[GIT] 백업 (Backup) (0) | 2021.08.18 |
[GIT] 버전 관리 (0) | 2021.08.18 |
[GIT] GIT의 기본 (0) | 2021.08.18 |