휴가를 다녀오고 어제 작성할려고 했지만 알고리즘 문제를 풀어 작성하지 못한 복습내용들을 정리하겠습니다.
1)서로 다른 파일 병합
work.txt라는 버전을 만들기 위해 nano를 이용해서 txt파일을 만들고 1을 넣어 주었습니다. 다음으로 add commit을 통해 버전을 만들어 주었습니다. 다음으로 log를 통해 버전이 잘 생성 되었는지 확인하였습니다.
o2라는 브랜치를 만들고 master.txt라는 파일을 만들고 그곳에 숫자 2를 넣었습니다. 다음으로 add commit을 통해 버전을 하나 더 만들어 주고 checkout을 통해 o2로 이동해 주고 o2.txt라는 파일을 생성하여 o2 2라는 내용을 넣어 주었습니다. 또한 버전을 다시 생성하기 위해 add commit을 해주었습니다.
log를 통해 현제의 버전 상태를 확인해였습니다.
o2브런치의 내용을 master브런치로 합치기 위해서 mater브런치로 checkout을 해주었습니다.
master위치로 이동한뒤 o2 merge를 통해 두개를 벙합한 새로운 버전을 만들어 주었습니다.
log를 통해 병합된 것은 o2와 master의 버전을 공통의 조상으로 하는 새로운 버전이 생성되었습니다.
2)같은파일 다른부분
init을 통해 저장소를 하나 만들고 cd를 통해 접근해 주었습니다.
다음으로 nano를 통해 work.txt를 만들어 주었고 파일의 내용은
#title
content
#title
content
을 넣어 주었습니다.
다음으로 add commit을 통해 버전을 만들어 주었습니다.
o2라는 브런치를 만들어 주고 이부분은 work.txt파일을 아래와 같이 수정해 주고
#title
master content
#title
content
commit -am을 통해 새롭게 버전을 생성해 주었습니다.
전 사진에서 추가한 o2브런치로 checkout을 통해 이동해주고 여기서는 work.txt파일을 아래와 같이 수정해 주었습니다.
#title
content
#title
o2 content
다음으로 add commit을 통해 버전을 만들어 주었습니다.
즉 제일 처음 1이라는 버전을 부모로 master work 2는 윗부분을 o2는 아래부분을 수정해 주었습니다.
같은 파일의 다른 부분을 수정한것을 병합하기 위해 다시 master로 checkout을 해주었고 o2버전을 병합하였습니다.
log를 통해 병합 된것을 확인하였습니다.
cat을 통해 파일의 내용을 확인하였더니 서로 다른 부분을 수정한 것이 잘 병합 된것을 확인 할수 있었습니다.
3)같은파일 같은부분(conflict)
init을 통해 저장소를 만들어 주고 cd통해 접근하였습니다.
다음으로 nano를 통해 work.txt파일을 만들어 주었고 내용은
#Title
content
#Title
content
이렇게 넣어 주었습니다.
그리고 add commit을 통해 버전을 생성해 주었습니다.
그리고 o2라는 브런치를 만들어 주었습니다.
nano를 통해 work.txt를 아래와 같이 수정해 주었습니다.
#Title
content
master
#Title
content
그리고 add commit을 통해 새롭게 버전을 만들어 주었습니다.
다음으로 o2로 이동하여 o2의 work.txt파일은 아래와 같이 수정해 주엇습니다.
#Title
content
o2
#Title
content
이것역시 새롭게 버전을 만들어 주었습니다.
log를 통해 버전을 확인하였습니다.
사진을 첨부하지 못하였지만 checkout을 통해 master브랜치로 이동하였고 merge를 진행하였습니다.
하지만 충돌로 인해 conflict가 발생하였다는 메세지가 발생하였습니다.
status를 통해 상태를 확인해 보니
빨강색으로 both modified로 두곳이 같은부분이 수정되었다는 경고 메시지가 나왔습니다.
수정을 위해 nano로 txt파일에 접근해 보니
#Title
content
<<<<<<< HEAD
master
=======
o2
>>>>>>>> o2
#Title
content
라는 내용이 보입니다. 요기서 =은 구분자 이고 구분자를 중심으로 위아래의 수정된 부분을 보여주고 있습니다.
다음으로 아래와 같이 수정해 주고
#Title
content
master,o2
#Title
content
add를 시켜준다음 status로 확인해 보니 수정된것을 확인하였습니다.
그다음 commit을 통해 버전을 만들어 주었습니다.
log를 통해 버전이 잘들어 간것인지 확인하였습니다.
'TIL > 깃 with 생활코딩' 카테고리의 다른 글
GIT-CLI 협업 (0) | 2019.08.06 |
---|---|
GIT-CLI branch (0) | 2019.07.24 |
GIT-CLI backup (0) | 2019.07.23 |
GIT-CLI 버전관리(2) (0) | 2019.07.22 |
GIT-CLI 버전관리 (0) | 2019.07.20 |