티스토리 뷰
git 관련 강의를 의뢰받은 게 있어 수업 만들 겸 간단히 정리를 해본다.
(진짜 간단한 것만.....)
1. 디렉토리 기본 구조
working directory : 현재 작업 중인 로컬 PC 디렉토리
staging area : add를 통해 tracking된 파일 목록
repository (local) : 로컬 PC 상에 기록된 commit된 파일들의 저장소
repository (remote) : 외부 저장소에 기록된 commit된 파일들의 저장소
add : 형상관리하고자 하는 파일을 tracking
commit : tracking된 파일을 형상관리 저장소에 기록
push : 외부 저장소에 commit된 내용 저장
pull : 외부 저장소에서 파일 가져오기
reset : tracking되거나 commit된 내용 취소
commit 메시지 규칙
example
Fix login page loading issue (제목)
- Update the login form to improve UI responsiveness. (본문)
This resolve #1234 in the issue tracker (마무리글)
기본적인 명령어
git remote -v : 원격, 로컬 저장소 위치 확인
git status : 현재 git으로 관리되고 있는 파일 상태 확인
git log : 현재 commit 로그 확인
git clone : repo 내용 복사
git pull : repo 업데이트된 내용 가져오기
git fetch : commit 이력 업데이트
reset, revert 차이
reset : 해당 commit 부터 다시 시작 (즉, 해당 commit 이후에 발생했던 commit 삭제)
주로 로컬 환경에서 아직 push 하기 전에 사용
revert : 해당 commit 내용을 삭제했다는 commit 발생 (즉, 해당 commit 을 취소한 것도 하나의 commit 으로 간주)
push 한 이후에 commit 내용 수정할 때 사용
reset 옵션
--soft : commit 취소, stage 유지
--mixed (기본 옵션) : commit 취소, stage 취소
--hard : commit 취소, stage 취소, 로컬 상 코드까지 수정
HEAD^ = HEAD~1 : HEAD 기준 1개 전으로 되돌아감
HEAD~2 : HEAD 기준 2개 전으로 되돌아감
ex) reset HEAD~2 : HEAD 기준 2개 전 commit 으로 되돌아가서 다시 시작 (reset)
revert 옵션
HEAD : HEAD commit 내역 취소
HEAD~1 : HEAD `개 전 commit 내역 취소
--no-commit : 여러 commit 취소에 대한 commit 메시지 하나로 작성 가능 + revert 기본 옵션인 commit 까지 동작되는 것 막는 기능 (staging 상태로 유지)
hash_x..hash_y : x+1번부터 y번 commit까지 취소
HEAD~2.. : HEAD~1, HEAD commit까지 취소
ex) revert HEAD~2 : HEAD 기준 2번째 전 commit을 취소하는 commit 발생 (해당 commit을 되돌리기, revert)
branch, fork 관련 명령어
git branch <branch name> : <branch name> 브랜치 생성
git branch -a : 현재 브랜치 목록 확인
git checkout <branch name> : <branch name> 브랜치로 전환 (2.23 버전 이후 : git switch <branch name>
git checkout -- <file name> : <file name> 파일 복원 (2.23 버전 이후 : git restore <file name>
git merge <branch name> : <branch name> 브랜치와 병합 (현재 체크아웃한 브랜치에 <branch name> 브랜치를 병합)
git branch -d <branch name> : <branch name> 브랜치 삭제
git remote add upstream <origin url> : <origin url>을 upstream이라는 원격 저장소로 추가
git fetch upstream : upstream 저장소 commit 이력 가져오기
git merge upstream/<branch name> : upstream 저장소의 <branch name> 브랜치와 병합 (즉 fork 한 레포에 upstream 레포를 병합)
기타 옵션은 검색하면서....
'메모' 카테고리의 다른 글
Modular Mojo / MAX (0) | 2024.09.29 |
---|---|
linux golang 설치 (1) | 2024.01.17 |
PS Rust 입출력 (0) | 2023.01.09 |
Ubuntu Openssl 설치 (0) | 2022.11.20 |
golang 테스트 간단 정리 (testing, github.com/stretchr/testify) (0) | 2022.02.15 |