2024. 7. 1. 22:05ㆍ오픈소스SW
실제로 한번 github에 원격 저장소를 이용한 버전관리를 해보려고한다.
먼저 github에 있는 원격 저장소를 불러온다.
git clone 명령어를 사용했으며 형식은 git clone https://github.com/사용자명/저장소이름.git이다.
그러면 이렇게 oss2024_intro라는 파일이 생성된다.
그 다음 생성된 폴더 oss2024_intro에 들어가서 checkout을 해준다.(intro6브랜치에서 작업하기 때문에 intro6에 checkout해준다.)
그 다음 oss2024_intro 폴더 안에 intro.txt에 들어가면
이렇게 이름과 학과를 적을 수 있는 창이 나온다.
자신의 이름과 학과를 입력하여 저장한 후 git의 상태를보면
수정되었다는 문구를 확인할 수 있다.
그 다음 커밋을 한 후 다시 intro.txt파일에 들어가면 수정된 내용이 저장이 되었음을 확인할 수 있다.
여기서 만약 내가 수정된 내용을 커밋하기 전에 다른 팀원이 내용을 수정해서 커밋했다면 어떤 일이 생길까?
당연히 로컬브랜치와 원격브랜치의 버전이 다르기 때문에 커밋이 되지 않을 것이다.
만약에 김철수란 팀원이 이렇게 먼저 자신의 이름과 학과를 수정해서 Push했으면 원격브랜치의 버전은 위와같은 내용을 담은 버전일것이고, 내가 가지고 있는 버전은 김철수,컴퓨터공학과가 적혀져 있지않은 깨끗한 버전이기 때문에 동기화가 되어있지 않아 Push를 할 수 없다. 그렇기 때문에 내가 Push를 실패했으면, 동기화가 되지 않았음을 인지하고 최신버전으로 동기화를 시켜줘야한다.
git fetch명령어를 이용해 최신버전으로 동기화를 시켜주고 원격브랜치와 로컬브랜치를 linear하게 만들어주기 위해 병합해준다. 그 다음 Push를 하면 내용충돌이 일어났다는 문구가 뜰 것이다.
동일한 부분에서 내용이 겹치므로 순서를 정해줘야한다.
순서를 정해준 다음 >>>>,=====,<<<<문구를 지워주고 저장한 후에 Push하면 수정된 내용이 적용될 것이다.
'오픈소스SW' 카테고리의 다른 글
리눅스 shell script (구구단) (0) | 2024.09.28 |
---|---|
Distributed Git (0) | 2024.07.02 |
Git-Remote(1) (0) | 2024.07.01 |
Git-Branching(3) (1) | 2024.06.30 |
Git-Branching(2) (0) | 2024.06.30 |