Git 설치
ubuntu 에서 설치 명령어
$ sudo apt install git-all
window 에서 설치
Standalone Installer 64bit 받으면 된다.
Git 홈페이지
git init
새로운 Git 저장소(repository)를 생성할 때 사용하는 Git 명령어
디렉토리 우클릭 하고 git bash로 열기
git diff
commit 이나 branch 사이에 다른점 혹은 파일이나 Repository와 Working Directory 사이의 다른점을 보여주는 명령어
git add [파일이름]
staging area로 추가 - 대기공간같은 느낌
git add . -> 모든 파일 추가
git commit -m “메시지”
Staging Area에 추가한 파일들을 Commit을 한다면 최종적으로 저장소(Repository)로 저장되게 됩니다.
Untracked : Working Directory에 있는 파일이지만 Git으로 버전관리를 하지 않는 상태
Unmodified : 신규로 파일이 추가되었을 때, new file 상태와 같다. ( $ git add 상태 )
Modified : 파일이 추가된 이후 해당 파일이 수정되었을 때의 상태
Staged : Staging Area에 반영된 상태
git rm
파일 삭제
git rm => 원격 저장소와 로컬 저장소에 있는 파일을 삭제한다.
git rm --cached => 원격 저장소에 있는 파일을 삭제한다. 로컬 저장소에 있는 파일은 삭제하지 않는다.
git commit --amend 커밋 해시
commit 취소하고 다시 날림 commit ID가 바뀌므로 포크해온 저장소의 커밋을 --amend 로 수정하고 PR을 날리려 하면 커밋 트리가 일치하지 않아 컨플릭트의 원인이 될 수도 있다.
git checkout
+ branch name - Branch 혹은 Commit 전환 (switch)
+ 해시 - 내용 되돌리기 (restore)
git reset 해시
내용 되돌리기
checkout과 차이점
reset = HEAD가 가리키던 브랜치가 다른 커밋을 가리키도록 한다.
checkout = HEAD 자체가 다른 커밋이나 브랜치를 가리키도록 한다.
둘 다 HEAD가 다른 commit을 가리키는 결과가 나오지만 reset은 브랜치를 통해, checkout은 HEAD 자체가 가리키는 Detached head가 된다.
작업을 저장하지않은 상태에서 다른버전으로 왔다갔다 하지 않아야한다.
저장하지 않고 왔다갔다 하면 HEAD가 특정 브랜치가 아닌 커밋을 가리키는 상태가 됨
정상 : HEAD -> branch -> commit
비정상 HEAD -> commit -> detached head
해결 git branch -f main HEAD
- 이전버전 파일 확인만 할때
- git checkout 커밋해시
- 이전버전(현재상태유지)
- git reset –soft 해시
- 이전버전(작업디렉토리유지)
- git reset -mixed 해시
- 이전버전(완전 이전버전으로)
-
- git reset –hard 해시
-
Git push origin branch or master
원격저장소로 업로드
Git pull origin branch or master
원격저장소에서 변경사항 가져오기
커밋 메시지 규칙
- 템플릿
- [제목타입] 로그인 기능 구현 (# 이슈번호)
- 로그인 기능을 ~랑 ~랑 ~사용해서 어떻게 구현했다.
- 꼬리말 타입 : #이슈번호
git flow 전략에 관해서
'Git' 카테고리의 다른 글
[Git] Branch 브랜치란? (0) | 2024.11.26 |
---|---|
[Git] README.md 설정하기 (0) | 2024.11.26 |