programming/git

소스트리(source tree) 이용해서 git 사용하기④

dmchoi 2021. 3. 5. 17:59

원격 저장소

인터넷, 네트워크에 연결되어 있는 형태의 저장소

로컬 저장소를 원격 저장소에 연결해서 백업할 수 있다.

로컬 저장소에서 일어나는 변화들을 원격 저장소에 계속해서 업로드

 

원격 저장소 만들기

소스트리에서 저장소(Repository) - 원격 저장소 추가(Add Remote) - Add - github에서 http/ssh 주소 복사 - URL/Path에 붙여넣기 

생성하면 Remotes에 방금 만든 원격 저장소가 나타남

 

push : 로컬 저장소에 있는 소스 코드를 원격 저장소로 밀어냄 -> 로컬 저장소와 원격 저장소를 동기화

 

로컬 컴퓨터가 없을 때 github - commits 들어가면 그 동안 작업했던 버전들을 온라인으로 볼 수 있다.

 

협업

혼자 로컬 저장소에서 프로젝트를 진행하다가 새롭게 누군가 조인하게 되면 새로 추가 된 멤버는 원격 저장소에 있는 내용을 자신의 로컬로 프로젝트를 가져와야함

이때 사용하는 개념이 clone  -> 원격 저장소의 내용을 자신의 로컬로 다운 받을 수 있게 하는 기능

clone -> clone repository -> 원격 저장소로 이동해서 clone url 을 복사 -> 복사할 경로 설정 

신규 멤버가 clone을 통해서 원격 저장소의 내용을 자신의 로컬 컴퓨터로 가져오기 완료

 

원격 저장소 이름 / master : 원격 저장소가 로컬 저장소와 마지막으로 동기화한 지점

master 1head : 로컬 저장소의 마스터 브랜치. 마지막으로 동기화한 버전과 하나 차이 남 / push 버튼에 1 

 

push : 로컬 저장소를 원격 저장소로 밀어넣음
pull : 원격 저장소를 로컬 저장소로 당김

 

협업을 할 때 원격 저장소에 새로운 것이 올라온게 있는지 확인을 해봐야함 -> pull 기능 
원격 저장소와 로컬 저장소를 동기화 하고 작업해야만 충돌이 일어날 가능성이 적고 여러 가지 문제를 방지

 

원격 저장소를 이용해 협업시 작업 진행 순서

1. 협업을 할때 가장먼저해야할것은 pull!
2. 작업하고 커밋
3. 1~2 시간동안 누가 또 원격 저장소에 올렸을지 모르니 다시 pull
4. 바로 push!

 

충돌 해결 

서로 다른 작업자들이 서로 같은 부분을 수정해서 충돌이 일어나는 경우

ex) 사용자2가 커밋 후 pull & push 한 후에 같은 부분을 수정한 사용자1이 push를 하면 충돌이 일어남

 

Description에 uncommitted changes라고 나타남 ->사용자가 직접 conflict를 해결해라!

코드 수정후에 resolve conflicts - mark resolved - git이 파일을 Staging Area로 올림

커밋하면 충돌 해결! -> push