티스토리 뷰

● git clone

- 원격저장소의 장점은 다른 사람과 협업할 수 있다는 것이다.
- 일이 너무 많아 다른 사람 1명을 구해 같이 작업을 한다고 해보자
- 이때 새로온 사람이 내가 작업하던 기존의 소스코드를 받으려면 어떻게 해야할까?

1. github.com 가서 직접 다운받아도 되고
2. git clone 원격저장소주소  →  새로운 작업폴더에서 해당 명령어를 이용해 소스를 받으면 된다.

- 그러면 원격 저장소에 있던 내용을 그대로 받을 수 있다.

 

git clone 성공

- git clone 명령어를 이용했더니 remote repository에 있던 소스가 다운받아졌다.
cf) 필요에 따라 특정 브랜치 1개만 clone 할 수 있다.(필요하면 찾아보기)
- 이제 새로온 사람도 코드를 짜서 commit 하고 git push 하면 그게 협업이다.

출처 - 코딩애플 매우쉽게 알려주는 git & github

- 단, 새로온 팀원도 github 아이디가 있어야하고 해당 팀원의 아이디를 Collaborators 메뉴에 등록해놔야 협업 가능하다.


● git push 전에는 git pull 부터

- git push는 마음대로 할 수 있는게 아니다.
- 내가 push 하려고 하는데 다른 사람이 만든 파일이 원격 저장소에 생기면 git push 못한다.
- github의 원격 리포지토리에 들어가서 거기서 직접 새로운 파일을 하나 만들어보았다.

github에서 직접 파일을 만들었다.  /  오른쪽 상단의 Add file 버튼을 누르면 파일을 만들 수 있다.

- made by github 라는 파일을 만든 후 commit 했다.
- 이런 식으로 원격 저장소가 타인에 의해 UPDATE 되었다고 가정해보자
이 사실을 모르는 내가 VScode에서 방금 만든 파일을 원격 저장소에 업로드하고 싶어졌다.
- made by vscode 라는 파일을 만든 후 평소대로 commit 하고 나서 git push 해보자

push가 되지 않는다. / 노란색 경고 메세지를 읽어보자

push가 되지 않고 error가 발생했다.
- 즉, 원격저장소와 로컬저장소의 내용이 다르면 로컬저장소에서 git push가 되지 않는다.
- 만약 이런 안전 장치가 없다면 코드가 꼬이기 때문에 이를 미리 예방해주는 것이다.

 

- git push 전에 git pull을 이용하면 현재 원격저장소에 있는 내용을 가져올 수 있다.

git pull 원격저장소주소

- 위의 명령어는 원격저장소에 있는 모든 branch 내용을 가져와서 로컬저장소에 합치라는 의미이다.
- 이러면 로컬저장소가 가장 최신의 상태가 되기 때문에 이제 git push가 가능해진다.

github에 있던 내용 가져오기 성공

- 결론 : 변동 사항이 생겼다면 git pull 후에 git push 하자

참고
- git pull 원격저장소주소 브랜치명  →  특정 브랜치만 가져올 수 있다.
- 원격저장소 주소를 변수에 등록해놨으면 당연히 사용 가능(나는 origin이라는 변수 사용)
- 예전에 '-u' 옵션을 사용했으면 git pull, git push 까지만 입력해도 문제 없다.

git pull 다음에 local repository에서 git push 성공
local repository에서 만든 파일이 remote repository에도 생성됐다.


● git pull 명령어 참고사항

- git pull 명령어는 (git fetch + git merge)의 축약어이다.
- git pull을 입력하면 자동으로 (git fetch + git merge)를 해주는 것이다.

git fetch
→ 원격저장소에 있는 commit 중에 로컬저장소에 없는 신규 commit을 가져오라는 의미

git merge
→ 그걸 merge 하라는 의미

 

- git pull 수행 시 팀원 2명이 같은 파일을 건드리고 있는 경우 merge conflict가 날 수 있다.

- conflict 해결 방법은 branch 다룰 때 다뤄봤으니 그 글을 참고해보자

2022.11.03 - [Git] - #4 branch, merge, conflict

 

결론 : 협업 시 git push 하기 전에 git pull 을 명륜진사갈비처럼 무한으로 즐기자

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/06   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
글 보관함