티스토리 뷰

메모

git 간단 정리

4567은 소수 2024. 1. 11. 23:33

git 관련 강의를 의뢰받은 게 있어 수업 만들 겸 간단히 정리를 해본다. 

(진짜 간단한 것만.....)

 

1. 디렉토리 기본 구조

출처 : https://support.nesi.org.nz/hc/en-gb/articles/360001508515-Git-Reference-Sheet

 

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 메시지 규칙

 

1.제목과 본문을 빈 행으로 구분
2.제목 50글자로 제한
3.제목 첫 글자는 대문자로
4.제목 끝에는 마침표 금지
5.제목은 명령형으로, 과거형 금지
6.본문 각 행은 72자 내로
7.무엇을 왜 했는 지 위주로 간결하게 본문 작성

 

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
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
TAG
more
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
글 보관함