2022. 8. 2. 18:22ㆍGIT
원격 저장소에 다수의 개발자가 동시에 커밋을 push 할 수 없다.
협력해서 개발할 때는 순차적으로 push해야 한다.
최신상태
원격 저장소에 push하려면 자신의 로컬 저장소를 최신 상태로 유지해야 한다.
자신의 저장소가 원격저장소의 커밋보다 최신이어야 한다.
push는 원격 저장소의 마지막 커밋과 push되는 커밋을 병합하는데 push 되는 커밋이 최신 커밋이 아닐 때
깃은 push 동작을 거부한다.
push 동작이 거부되면 pull 또는 fetch 작업으로 자신의 로컬 저장소를 갱신해주어야 한다.
충돌방지
깃이 최신 상태에서만 push를 허용하는 것은 충돌을 방지하기 위해서다.
원격 저장소의 커밋을 내려받는 pull 작업은 내려받은 커밋들을 현재 브랜치로 자동 병합한다.
이 때 커밋 내용이 순차적이지 않으면 병합 과정에서 충돌이 발생한다.
push 명령어를 사용할 때 충돌을 최소화하기 위해 미리 원격 저장소를 확인한다.
새로운 커밋 갱신이 없는지 pull 명령어를 사용하여 지속적으로 확인하는 것이 좋다.
pull → coding → commit → pull → push
pull 과 push를 자주 사용하여 충돌을 최소한으로 줄여 나가면서 작업을 유지하자.
소스트리에서는 로컬 저장소와 원격 저장소 간 커밋 차이점을 보여준다.
그래서 쉽게 확인할 수 있다.
※ 인증 정보 캐시
원격 저장소로 깃허브, 비트버킷 같은 호스팅 원격 저장소를 사용할 때는 아이디와 비밀번호가 있어야 접속이 가능하다.
매번 아이디와 비밀번호를 입력하는 것은 귀찮기 때문에 깃에서 인증 정보 캐시 기능을 제공한다.
아이디와 비밀번호를 임시적으로 보관할 수 있다. 이 기능을 활성화하려면 환경 설정이 필요하다.
$ git config --global credential.helper cache
※ 원격 저장소 원리
깃을 원격 저장소에 연결하면 ./git/config 파일 안에 리모트 연결에 대한 설정 정보가 자동으로 추가된다.
[remote "origin"]
url = ~~~~
fetch = ~~~~
'GIT' 카테고리의 다른 글
[GIT] 브랜치 생성 (0) | 2022.08.02 |
---|---|
[GIT] 새 작업하기 (0) | 2022.08.02 |
[GIT] 수동으로 내려받기 (0) | 2022.08.02 |
[GIT] 자동으로 내려받기 (0) | 2022.08.02 |
[GIT] 서버 전송 (0) | 2022.08.01 |