깃 명령어 -원격편

인생노잼시기·2021년 4월 7일
0

🤯GIT

목록 보기
2/5

git 명령어 햣햣

push & pull

git clone

git clone [주소]

원격... 즉 로컬에 원격 저장소를 복사해 둔 것
기존에는 오른쪽과 같이 생겼던 것이 왼쪽처럼 변했다

remote branch

원격 브랜치는 checkout을 하게되면 분리된 HEAD 모드가 된다.
<remote name>/<branch name>
origin/main
원격 저장소의 이름은 origin, 브랜치 이름은 main

git checkout origin/main; git commit
HEAD가 분리되지만 commit되지 않는다
왜냐하면 원격 저장소가 갱신될 때만 갱신되기 때문이다
즉 원격 브랜치는 원격 저장소의 상태를 반영하기만 한다즉 원격 브랜치는 원격 저장소의 상태를 반영하기만 한다

git fetch

git fetch

http:// 또는 git://과 같은 프로토콜로 인터넷을 통해 원격 저장소에 접근한다
1. 원격 저장소에는 있지만 로컬에는 없는 커밋들을 다운로드 받는다
2. 원격 브랜치가 가리키는 곳을 업데이트한다 o/main
3. main 브랜치는 업데이트하지 않는다 (로컬의 상태는 그대로이다)

git pull

fetch + merge를 합친 명령
원격 저장소에 있는 커밋을 fetch한 후, 로컬에 있는 것과 merge해서 새로운 것을 만든다로컬에 있는 것과 merge해서 새로운 것을 만든다

git fetch; git merge o/main
또는 git pull

main브랜치가 o/main원격저장소의 새 작업을 반영하게 되었다

git fakeTeamwork foo 3

git push

기본 설정은 upstream으로 되어있다

git push
before

after

로컬에서 사용하는 원격지를 복사해온 저장소에서 소스코드를 변경하고 커밋을 한 상태이다.
오른쪽 원격 저장소가 커밋 C2를 받았고,
왼쪽 원격 브랜치o/main가 갱신되었다. (동기화 완료)

충돌 발생

C1을 내려받아서 C3으로 작업하고 있었는데
팀원이 먼저 C2를 push한 상황

git fetch; git rebase o/main; git push

origin

profile
인생노잼

0개의 댓글