Git windows 다운로드 후 설치.
use visual studio code as git's default editor
체크main
으로 변경 (깃허브 기본 브랜치가 main
인데 프로젝트마다 main/master 다르면 은근히 귀찮음)Git을 처음 사용하는 컴퓨터라면 이름과 이메일을 세팅해야한다. 만약 세팅안하고 clone같은 명령어 입력하면 fatal: could not read Username for 'https://github.com': No such file or directory
라는 오류가 발생할 수 있다. 내용 그대로 이름과 이메일을 설정하지 않아서 생기는 문제.
git config --global user.email "email@email.com"
git nfig --global user.name "myname"
터미널을 열고 위와 같이 사용자 정보를 입력해주면 된다.
git add, commit, diff, branch 설명은 생략.
git checkout
또는 git switch
git switch
는 2.2.3 버전에 소개된 기능으로 새로운 branch로 전환할 때나 기존 branch에서 새로운 작업을 시작할 때 사용된다.git switch
는 branch를 전환하는 명령어로서 더 직관적이고 안전한 명령어이며, git checkout
은 branch 이외의 다양한 작업을 수행할 수 있으므로 조금 더 복잡한 명령어.
3-way merge의 경우 히스토리가 자세하게 남기 때문에 브랜치의 개수가 많거나 Merge 횟수가 많아질수록 기록 확인이 정말 힘들어지므로 rebase 후 merge 하는 경우가 있다.
rebase가 동작하면 신규 브랜치의 시작점을 main 브랜치의 최근 commit으로 옮겨진다. 이후 Merge하면 Fast-Forward Merge가 된다.
Push된 history를 rebase 하지 않도록 주의한다. 이 경우 history를 기반으로 작업하고있는 개발자들에게 영향을 주게된다.
git switch develop
git rebase main
git switch main
git merge develop
Rebase 말고도 Squash & Merge를 사용하는 경우도 있다.
git switch main
git merge --squash develop
git commit -m 'commit message'
3-way Merge 처럼 히스토리들이 하나의 선으로 이어져있는 것이 아닌, 변경사항 들이 main 브랜치로 이동하게 된다. (이 과정에서 merge 완료된 브랜치의 commit은 출력 X)