1. HEAD BRANCH COMMIT & CHECKOUT checkout: HEAD를 제어 detached상태: HEAD가 branch에서 떨어져서 버전을 가리킬 때 2. checkout vs reset checkout: 뭔가 바꾸는 느낌 ☞ Change reset: 지우는 느낌 ☞ delete, branch를 바꾼다. 가리키는 버전 이후의 링크는 끊겨버리기 때문에 삭제의 느낌을 가진다. 하지만 보통은 브랜치가 아니라 버전을 가리킨다. reset master를 하면 HEAD가 바뀌는 것이 아니라 현재 google 브랜치가 master의 버전인 2를 가리키게 된다. 그리고 가리키고 있던 3은 링크가 끊어지고 delete 되는 느낌이 되는 것이다! 출처: https://opentutorials.org/co..
1. git workflow 혼자 규칙을 정하는 것보다 여러 사람들이 만들어 놓은 flow를 사용할 수 있다. 유명한 플로우를 표준처럼 업무에 집중할 수 있게 도와준다. git worklow란? https://www.atlassian.com/git/tutorials/comparing-workflows#:~:text=A%20Git%20Workflow%20is%20a,in%20how%20users%20manage%20changes. Git Workflow | Atlassian Git Tutorial A brief introduction to common Git workflows including the Centralized Workflow, Feature Branch Workflow, Gitflow Work..
3 way merge here base(master) there 3 way merge A A A A H B B H C C T T H D T ? conflict 실습: 위의 표와 같은 내용 base는 here과 there의 조상이 된다. here과 there 브랜치를 생성하고 work.txt 파일을 위와 동일하게 수정하였다. here에서 there를 merge 하기 전의 branch 상태 here에서 there을 merge 하면 conflict가 발생한다. work.txt 파일을 살펴보면 마지막 H와 T가 conflict 되었다. 여기서 외부 도구를 이용한 병합 방법에 대해서 알아보겠다. 외부 도구는 여러 가지가 있지만, "p4 merge"라는 tool을 이용해보자. p4merge download: htt..
3 way merge에 대한 개념 및 예제 2 way merge here there 2 way merge A A A H B ? conflict C T ? conflict H T ? conflict branch => here, there ☞ here + there (2 way merge) A + A → A H + B →? 충돌, 알 수 없음 C + T →? 충돌, 알 수 없음 H + T →? 충돌, 알 수 없음 3 way merge here base there 2 way merge 3 way merge A A A A A H B B ? conflict H C C T ? conflict T H D T ? conflict ? conflict branch => here, there base => here, the..
같은 파일, 다른 부분 병합 nano편집기로 work.txt를 위와 같이 작성 Add 및 "1"로 commit 브랜치 o2생성 nano편집기로 work.txt를 위와 같이 수정 Add 및 "master work 2"로 commit o2 브랜치로 전환 nano편집기로 work.txt를 위와 같이 수정 Add 및 "o2 work 2"로 commit 브랜치 정보로 1 브랜치에서 master work 2(master), o2 work 2(o2) 브랜치로 나누어진다 master브랜치로 전환 및 o2를 merge해온다. 브랜치 정보로 1 브랜치에서 master work 2(master), o2 work 2(o2) 브랜치로 나누 졌다가 Merge branch 'o2'(master)로 병합되었다. work.txt라는 ..
1. 병합 Merge Merge: 합친다, 병합한다. Base: 합치려고 하는 브랜치의 공통의 조상 Merge commit: 두개의 브랜치가 합쳐져서 만들어진 브랜치 예) Master 브랜치로부터 버전들이 만들어지면서 Apple 브랜치, google 브랜치로 나누어진다. 그리고 나누어진 Apple 브랜치의 코드를 Master 브랜치에서도 적용하고 싶다. 그럴 때 Master 브랜치와 Apple 브랜치를 Merge(병합) 한다. 여기서 Apple 브랜치와 Master 브랜치의 공통의 조상을 Base, Merge 된 브랜치를 Merge Commit이라고 한다. 2. 병합: 서로 다른 파일 병합 nano편집기로 work.txt파일을 생성하고 1이라는 문서를 작성한다. work.txt를 Staging Area로..
1. 브랜치의 기본사용법1 git branch: 브랜치 정보를 보여준다. 현재 브랜치로는 master가 있고, master에 속해있다. git branch [BranchName]: BranchName이라는 브랜치를 만든다. 브랜치 apple 생성 현재 브랜치로는 master, apple이 있고, master에 속해있다. ※ *이 가르키는 브랜치에 속함. 즉, HEAD가 가리키는 브랜치 브랜치 google, ms 생성 nano편집기로 work.txt에 master contetn 4를 추가 작성 후 버전 생성 현재 브랜치는 master에 속해있다. master에 속한 work.txt 내용 git checkout [BranchName]: HEAD가 BranchName을 가리키도록 전환 브랜치 apple에 속하..
1. 수업 소개 브랜치(branch) 지금까지 만들던 버전에 이어서 서로 다른 여러 작업을 진행해야 하는 경우가 있습니다. 이런 경우 저장소를 복제하고 싶을 때 저장소를 복제하지 않고 동일한 효과를 낼 수 있는 방법 - 같은 뿌리에서 나와서 다른 역사를 써가는 버전을 말한다. - 충돌(Conflict) 다른 파일을 자동으로 두 개를 합쳐준다. 같은 파일의 다른 위치에 경우 자동으로 파일을 합쳐준다. 같은 파일의 같은 위치에 다른 내용일 경우 충돌 발생! ☞ 병합 과정에서 발생하는 충돌을 알아본다. 사고가 아니라 멋진 기능이다. 출처: https://opentutorials.org/course/3840 2. 실습 준비 동일한 내용으로 실습을 준비한다. 출처: https://opentutorials.org/..