Git 설치

ubuntu 에서 설치 명령어

$ sudo apt install git-all

 

window 에서 설치 

 

Standalone Installer 64bit 받으면 된다.

 

Git 홈페이지

 

Git - Downloading Package

Download for Windows Click here to download the latest (2.47.0(2)) 64-bit version of Git for Windows. This is the most recent maintained build. It was released on 2024-10-22. Other Git for Windows downloads Standalone Installer 32-bit Git for Windows Setup

git-scm.com

 

 

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에 반영된 상태

 

왜 Staging Area에 들릴까?

 

Git의 Staging Area는 어떤 점이 유용한가

Git에는 Staging Area라는 공간이 있다. 어떤 변경사항이 저장소에 커밋되기 전에, 반드시 거쳐야만 하는 중간단계이다. 다른 버전관리도구에는 이에 정확히 대응하는 것은 없다. 저장소가 추적하는

blog.npcode.com

 

 

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

 

  1. 이전버전 파일 확인만 할때
    1. git checkout 커밋해시
  2. 이전버전(현재상태유지)
    1. git reset –soft 해시
  3. 이전버전(작업디렉토리유지)
    1. git reset -mixed  해시
  4. 이전버전(완전 이전버전으로)
      1. git reset –hard 해시

 

Git push origin branch or master

원격저장소로 업로드

 

Git pull origin branch or master

원격저장소에서 변경사항 가져오기

 

커밋 메시지 규칙

  1. 템플릿
  2. [제목타입] 로그인 기능 구현 (# 이슈번호)
  3. 로그인 기능을 ~랑 ~랑 ~사용해서 어떻게 구현했다.
  4. 꼬리말 타입 : #이슈번호

git flow 전략에 관해서

 

https://inpa.tistory.com/entry/GIT-%E2%9A%A1%EF%B8%8F-github-flow-git-flow-%F0%9F%93%88-%EB%B8%8C%EB%9E%9C%EC%B9%98-%EC%A0%84%EB%9E%B5

 

'Git' 카테고리의 다른 글

[Git] Branch 브랜치란?  (0) 2024.11.26
[Git] README.md 설정하기  (0) 2024.11.26

+ Recent posts