헷갈렸던 원흉들
** Remote Repo에서 변경사항이 있을 때 내 컴퓨터 (Local Repo)로 Pull로 가져올 수 있다.
** remote add 는 Remote Repo와 내 Local Repo를 서로 연결하는 것
** 연결을 하고 pull 해야 실제 파일 받아옴
혼자할때 프로세스
#1 Fork로 다른 사람의 Remote Repo에서 내 Remote Repo로 코드를 옮긴다.
#2 내 Remote Repo의 코드를 내 컴퓨터(Local Repo)로 Clone 해서 가져온다.
#3 (뚝딱 작업 완료)
#4 작업 파일을 git add 로 staging area에 저장 (여기서 Git 관리하에 들어간다) 그 외 untracked
#5 Staging area에 있는 파일을 Commit 하여 Local Repo에 변경 내용 저장한다
#6 Push로 Local Repo에서 내 Remote Repo로 업로드 한다.
여러 명에서의 프로세스
<오늘 페어프로그래밍 과제 프로세스>
#1 과제 remote repo를 내 remote repo로 fork 하기
#2 사용자 각자 git clone 해서 각자의 로컬로 복사한다.
#3 상대방의 remote repo와 내 local repo를 연결한 뒤 git remote -v로 제대로 연결됐는지 확인
(git remote add pair {remote repo address})
** 여기서 pair는 이름 변경 가능
#4 내가 코드작성 -> add -> 커밋 -> 내 remote repo로 push
(git push origin main - origin repository의 main branch)
#5 상대방이 내 remote repo에서 pull을 해서 코드 가져옴 git pull pair main -> 코드 추가 -> 커밋 -> 상대방 remote repo로 푸쉬
#6 내가 상대방의 remote repo를 pull 해와서 다시 수정 후 remote repo에 다시 push
반복
...
충돌 해결
페어분들과 일부로 파일의 특정 줄에 전부 다른 내용을 집어넣은 뒤 각자의 remote repo에 올린 후, pull을 해서 어떤 식으로 나오는지 확인해보았다.
위 사진과 같이 pull의 기능인 auto-merge 가 수행되지 않았다. 어느 부분에서 충돌이 일어났는지 확인을 위해 작업 파일인 README.md를 nano 에디터로 실행했다.
<<<< >>>>> 의 구역 안에서 충돌이 일어났다는 뜻이고 =====를 기준으로 윗부분이 Local Repo, 아랫부분이 Remote Repo에서의 변경사항이다.
해결을 위해서 두 가지의 변경점 중 하나를 정하던지, 아니면 새로 만들던지를 해서 충돌 부분을 해결하면 된다.
'programming > GENERAL' 카테고리의 다른 글
Git 입문 (0) | 2022.05.03 |
---|---|
Git command 정리 (0) | 2022.05.03 |
2진수 계산 (0) | 2022.04.26 |
IntelliJ Hotkeys - TBC (0) | 2022.04.26 |
의사코드(슈도코드 - Pseudo Code) (0) | 2022.04.25 |