fetch는 remote으로부터 local로 변경사항을 가져오고(실제로 파일변경x 확인가능)
pull은 실제 workspace의 작업을 변경
<remote>
+ <branch>
remote 이름까지 작성시 모든 브랜치, branch 명 입력시 특정 branch 지정
fetch를 통해 local repo에는 branch가 있는데 실제 workspace에는 없는경우
git switch <branch>
를 하면 workspace 로 끌고옴
git checkout --track <remote>/<branch>
동등
(base) veritas@veritas:~/gitserver/gittest$ git fetch main
From https://github.com/milliondays/gitremotetest
* [new branch] test2 -> main/test2
(base) veritas@veritas:~/gitserver/gittest$ git branch
dev1
dev2
* main
test1
us
(base) veritas@veritas:~/gitserver/gittest$ git branch -r
main/aaa
main/dev1
main/dev2
main/main
main/test1
main/test2
main/us
(base) veritas@veritas:~/gitserver/gittest$ git switch test2
Branch 'test2' set up to track remote branch 'test2' from 'main'.
Switched to a new branch 'test2'
(base) veritas@veritas:~/gitserver/gittest$ git branch
dev1
dev2
main
test1
* test2
us
<remote>
<branch>
git pull = git fetch + git merge
git pull 은 fetch로 remote repo에서 local repo로 변경사항을 끌어오고
merge 까지 수행한다고 보면된다.
local<>remote 간에 같은 branch 등
대부분의 경우 해당 명령어만 작성해도 가능