Git 정리
remote Repository (원격 저장소)
원격 저장소란 내 로컬 PC가 아닌 네트워크상의 다른 위치에 존재하는 Git 저장소를 말한다.
자신의 컴퓨터에 있는 저장소를 “로컬 저장소”, 서버 등 네트워크에 있는 저장소를 “원격 저장소” 라고 한다.
원격 저장소에 데이터를 쓰는 것을 Push라고 하며, 가져오는 것을 Pull이라고 한다.
커밋(commit)
: 파일을 추가하거나 변경 내용을 저장소에 저장하는 작업
푸시 (push)
: 파일을 추가하거나 변경내용을 원격 저장소에 업로드하는 작업
풀 (pull)
: 원격 브랜치의 변경 사항을 캡처하는 작업
대표적인 원격 저장소 서비스로는 Github, GitLab 등이 있다.
git remote
git remote 명령어는 현재 사용중인 Git 프로젝트에 연결된 원격 저장소를 확인할 수 있다.
원격 저장소를 clone한 경우 원격 저장소의 별칭은 자동으로 origin이 된다.
-v 옵션을 사용하면 저장소의 URL까지 볼 수 있다.
1 |
|
1 |
|
1 |
|
rebase
1 |
|
Merge
에 대한 설명은 https://velog.io/@godori/Git-Rebase
rebase
는 브랜치의 공통 조상이 되는 base를 다른 브랜치의 커밋 지점으로 바꾸는 것이다
다음 예제는 master 브랜치의 마지막 커밋인 M2 이후에 New 의 변경 사항인 N1, N2 가 일어난 것처럼 하기 위해 rebase를 수행한 것이다.
New 브랜치의 base를 A가 아니라 M2로 재설정(rebase) 하는 것이다.
1 |
|
1 |
|
@ Rebase을 선택하는 관점
Rebase의 경우는 브랜치를 병합할 때 이런 Merge commit을 남기지 않으므로, 마치 다른 브랜치는 없었던 것처럼 프로젝트의 작업 내용이 하나의 흐름으로 유지된다.
reset
reset을 이용하여 Squash (합치기)
예제 [설명] >
첫 번째 커밋은 파일 하나를 추가, 두 번째 커밋은 기존 파일을 수정, 새로운 파일 추가 세 번째 커밋은 첫 번째 파일을 다시 수정 -> 두 번째 커밋은 아직 작업 중인 커밋으로 이 커밋을 세 번째 커밋과 합치고 싶은 상황
1 |
|
stash
PR
출처
https://dololak.tistory.com/346
https://mobicon.tistory.com/114
https://tagilog.tistory.com/377
https://velog.io/@godori/Git-Rebase # Merge vs Rebase 설명 좋음