같은 파일의 같은 부분을 수정했다면 git은 자동으로 병합하지 못한다. 이것을 충돌이라고 한다. wort.txt를 생성해 입력 o2 브랜치 생성 master 브랜치에서 work.txt 수정 o2 브랜치로 이동 work.txt 수정 이제 두 브랜치를 병합하자 1. 작업할 브랜치로 이동 2. 가져올 브랜치를 merge o2를 가져와 merge 하려고 하자 충돌이 발생했다. git status를 통해 상태를 확인해보면 아래와 같다. work.txt를 확인해보자 master와 o2사이에 있는 =======는 구분자이다. 구분자를 중심으로 위 두줄은 현재 브랜치의 내용은 master라는 의미이다. 아래 두줄은 o2 브랜치에서의 내용은 o2라는 의미이다. 아까 master 브랜치에서 master를 수정 입력해주었고..
이전에 만들었던 manual-merge를 삭제하고 다시 만들었다. work.txt를 만들고 아래와 같이 입력한다. 그리고 o2 브랜치를 만들어준다. work.txt를 수정(아직 o2브랜치로 이동하지 않았으니 master 브랜치에서 수정하는 것이다.) 그리고 o2 브랜치로 이동하자 (실수로 02라고 이름을 잘못 지어서 02 브랜치로 이동 후 git branch -m o2 명령어로 수정하였다. work.txt 수정 이제 master와 o2를 병합해보자 (o2의 내용을 master로) 1. master 브랜치로 이동 2. 가져오려는 브랜치를 merge work.txt의 내용을 확인해보면 아래와 같다. master에서 수정한 내용과 o2에서 수정한 내용이 합쳐졌다. git은 같은 파일이더라도 다른 부분을 수정했..
새로운 저장소에서 다시 작업한다. work.txt 파일을 생성하고 1을 입력한다. add와 commit을 한다. master 브랜치에서 master.txt를 만든다. 2를 입력 커밋 메시지를 수정하고 싶을 경우 git commit --amend를 사용하면 수정할 수 있다. 이제 o2 브랜치로 이동하자 o2.txt를 만들어 아래와 같이 입력 이제 병합을 해보자. master에 o2 브랜치를 병합할 것이다. 즉, o2 브랜치의 내용을 master 브랜치로 합칠 것이다. 이를 위해, 1. 우선 master 브랜치의 상태가 되어야 한다. 2. 현재 브랜치로 가지고 오고 싶은 브랜치를 merge 명령어를 통해 지정한다. 연습을 위해 위 작업을 취소하고 다시 merge 해보자
apple.txt를 새로 만들어 아래와 같이 입력했다. 현재 상태는 apple에 있다.(HEAD가 가리키고 있음) aple work 4의 부모는 work 3이다. 그리고 master work 4의 부모도 work 3이다. 그것을 그래프 (좌중단에 빨간색 | 표시)로 보여주고 있다. 이번에는 google.txt를 만들어 아래와 같이 입력했다. 그리고 google 브랜치로 이동한 뒤 파일을 add 해주고 커밋을 했다. 다시 로그를 살펴보았다. 현재 google이 checkout 된 상태이다. google의 부모는 work 3이다. 이번엔는 ms 브랜치로 이동해서 ms.txt를 생성하고 아래와 같이 입력했다. 그리고 add 한 뒤 commit을 했다. 브랜치를 통해 공통의 작업을 공유하면서 각자 자신의 작업을..
우리는 저장소를 만드는 순간 master라고 하는 기본 브랜치 위에서 작업을 하게 된다. 만약 다른 브랜치를 만들고 싶다면 git branch 브랜치명을 사용한다. git branch 명령어를 통해 브랜치의 목록을 확인할 수 있다. 브랜치 명의 앞에 붙은 *는 현재 위치한 브랜치이다. apple이 추가되었다. apple, google, ms는 현재 master가 머물고 있는 상태에서 만들었기 때문에 work 3 상태라고 하는 공통점을 가지고 있다. work.txt에 master content 4라는 내용을 추가하고 커밋한 후 log를 확인해봤다. git checkout을 통해 특정 브랜치로 이동할 수 있다. apple은 work 3 메시지가 있던 버전에서 만들어졌기 때문에 해당 버전이 된다. 따라서 wo..