프로젝트의 복사본을 생성함
git branch Branch명
: "Branch명" branch를 생성함git branch
: Local branch 현황을 보여줌git branch -r
: Remote branch 현황을 보여줌git branch -a
: 전체(Local/GitHub) branch 현황을 보여줌git branch -m Branch명
: 현재 Branch의 이름을 "Branch명"으로 변경함git branch -d Branch명
: "Branch명" branch를 삭제함Remote Branch 삭제
:git push origin --delete Branch명
Remote-Local Branch List 동기화
:git fetch -p
작업 중인 branch를 이동함
git switch Branch명
또는 git checkout Branch명
: 작업 위치를 "Branch명" branch로 변경함
git switch -c Branch명
또는 git checkout -b Branch명
: "Branch명" branch를 생성하고 작업 위치를 "Branch명" branch로 변경함( -c : create / -b : branch )
차이점
git switch
: 로컬(Local) branch 간의 이동만 가능함git checkout
: 로컬(Local) 및 원격(Remote(=GitHub)) branch 간의 이동이 모두 가능함작업 중인 branch의 코드를 다른 branch로 합침
git add
와 git commit
이 모두 완료된 내역만 합쳐짐
순서
git switch "목적지 branch"
(ex. main or dev)git merge "출발지(코드를 가져올) branch"
git add
와 git commit
하지 못한 코드를 임시 저장함
이동할 Branch의 코드와 현재 작업 중인 코드에서 겹치는 부분이 존재하는 경우, git switch
가 동작하지 않음
Your local changes to the following files would be overwritten by checkout:
index.html
Please commit your changes or stash them before you switch branches.
git stash -u -m "message"
git stash list
: 임시 저장된 리스트를 보여줌git stash apply stash@{숫자}
: stash@{숫자} 부분으로 돌아감과거의 commit
으로 돌아감
git log
를 사용하여 돌아갈 commit ID
의 앞 5~6글자를 사용함 (ex. 5dc1ab)
git reset
commit
으로 완전히 돌아감git reset <option> <돌아갈 commit ID>
--soft
: commit
했던 파일들을 add 완료, commit 하기 전
상태로 돌려 놓음--mixed (기본값)
: commit
했던 파일들을 add 하기 전
상태로 돌려 놓음--hard
: commit
했던 파일들 중, 새로 생긴 파일을 제외하고 모두 디렉토리에서 삭제HEAD~n
: 현재 위치로부터 n개의 commit
을 취소 (ex. --soft HEAD~4
)HEAD^
: 가장 최근의 commit
을 취소 (ex. mixed HEAD^
)git revert
commit
을 현재 위치의 다음 commit
으로 설정함git revert <돌아갈 commit ID>
차이점
git reset
: commit
내역이 뒤로 이동하여 기록이 삭제됨 git revert
: commit
내역이 앞으로 이동하여 revert 기록이 추가됨주 사용 용도
git reset
: 되돌려야 할 commit
내역이 local에만 존재하는 경우 git revert
: 되돌려야 할 commit
내역이 push된 경우GitHub에서 merge
를 실행하는 방식
merge
를 진행하기 전, branch 간의 코드 리뷰가 가능함
git push origin <gitHub의 Branch명>
Pull Request
메뉴목적지
← 출발지
를 지정하여 "메시지"와 함께 Create pull request
Merge pull request
Confirm merge
git pull
수행코드를 검사할 사람을 지정하여 통과/수정 여부 등의 의견을 제시하는 방식
Pull request
- File changed
클릭
후 Start a review
Submit review
git으로 관리하고 싶지 않은 파일을 작성하는 파일 (ex. 비밀번호, 확장자 등)
main
Branch는 배포용으로 사용함.dev
or develop
Branch를 별도 생성하여 사용할 것dev
→ main
)dev
Branch를 default 값으로 사용하는 방법settings
- Default Branch
- dev
선택 - Update