git clone 원격저장소주소
명령어를 입력하면 원격저장소에 있던 내용을 그대로 복제 해줍니다.
팀원과 협업을 하기 위해선 팀원도 github 아이디가 있어야 하고 , Collaborator 항목에 팀원의 아이디를 추가 해주어야 합니다.
git push는 맘대로 할 수 있는게 아닙니다. 갑자기 다른 놈이 만든 파일이 원격저장소에 생기면 git push 못합니다.
원격저장소가 타인에 의해 업데이트되었다고 칩시다. 팀원도 방금 만든 파일을 원격저장소에 업로드하고 싶어진겁니다.
예를 들어 hi 라는 파일을 만들었다고 칩시다.
그럼 이전과 같이 commit 하고 나서 git push 똑같이 하면 됩니다.
원격 vs 로컬 내용이 다르다면 로컬저장소에서 git push가 안됩니다.
왜냐면 그런 상황에서 대충 git push 해버리면 코드가 꼬이기 때문에 얘가 미리 예방해주는 것일 뿐입니다.
따라서 업데이트 된 원격저장소의 내용을 가져온 다음 다시 push 를 해주어야 합니다.
다음 명령어를 통해서 현재 원격저장소의 내용을 가져옵시다.
- 이러면 원격저장소에 있던 모든 브랜치 내용을 가져와서 로컬저장소에 합치라는 뜻입니다.
- 이걸 해주면 로컬이 최신상태가 되기 때문에 이제 git push가 가능합니다.
- 결론은 변동사항이 생겼다면 git pull 하고 나서 git push 하면 됩니다.
🔗 참고
git pull 원격저장소주소 브랜치명 입력하면 특정 브랜치만 가져올 수 있습니다.
origin이라는 변수명을 등록해놨으면 당연히 사용가능
예전에 -u 했었으면 git pull, git push까지만 입력해도 잘됩니다.
git pull
명령어는git fetch
+git merge
의 축약어 입니다.
git pull 입력하면 자동으로 git fetch + git merge를 해줍니다.
git fetch는 원격저장소에 있는 commit 중에 로컬에 없는 신규 commit을 가져오라는 뜻이고
git merge는 그걸 merge 하라는 뜻입니다.
그래서 결론은
협업시 git push
하기 전에 뭐라 그러면 git pull
하면 됩니다.