git cli 정리

2025. 03. 06.
카테고리
게시일
Mar 6, 2025

git status

  • untracked : 파일 처음 만들면 각 파일 이 상태
  • unstaged : 파일 내용이 변경되었는데, 아직 커밋을 할 건지 확정은 안한상태
    • 인덱스로 올라감(스냅숏 생성(?))
  • staged : 파일이 변경 안되었거나, 변경 이후 커밋할 것으로 확정한거
  • commited : 스냅숏을 새로운 버전으로 올림
  • -s 하면 짧게 보기 가능
    • ?? 파일은 untracked
    • M은 modified
    • A는 추가된 파일 (or 무수정(?))
    • 초록색은 staged, 빨간색은 unstaged

git log

커밋들의 log확인 가능

git log —oneline

커밋한거 한줄로 보기

git log —oneline —graph

현재 브랜치 기준 로그를 그래프로 보여줌

git commit

commit하는거고, commit 컨벤션 유의
각 commit에는 hash가 있어 구분이 가능하다.

git commit -m

짧게 설명을 추가

git reset

커밋 취소 가능
  • —soft : 이전 staged상태로
  • —mixed : 이전 unstaged 상태로
  • —hard : 변경내용 자체를 삭제(워킹디렉토리를 이전 버전으로
 
HEAD~1
  • HEAD의 바로 이전 commit상태로 변경
 

branch란?

브랜치는 “기능별로 독립된 작업흐름”

git branch

현재 브랜치 확인
notion image

git branch -M <원래명> <바꿀명>

브랜치의 이름을 변경함

git checkout <브랜치명>

 
브랜치 전환
WD도 알아서 뒤바뀜 & log로 확인할 때도 해당 브랜치 기준으로 뒤바뀜!!!
-b 하면 브랜치를 현재 브랜치에서 분기해서 새로 만들면서 이동한다.
 
 

MERGE

FAST-FORWARD

기준브랜치(main)에 변경점 없을 때 일어남
그냥 최신 커밋을 가르키도록 수정됨

3-Way merge

기준브랜치(main)에 변경점 생기면, 그 두 변경점을 모두 반영하는 MERGE

git merge

merge할 때(특히 3-way merge) VIM 같은 텍스트 에디터 뜨면서, merge가 꼭 필요한지 쓰라는거 나오는데, 그냥 :x로 삭제하면서 나가면 됨
 
 
 
 

원격 저장소(Remote)

git remote add origin URL

원격저장소 추가함

github의 main branch

github에서는 기준 브랜치로 master대신 main 브랜치를 메인 브랜치면으로 사용하는것이 대세이다.
 
 

Github & Pull Request

보통 새로운 브랜치는 feat-1이런식으로 하는게 맞음

clone Vs pull

clone은 저장소를 통채로 복사해서 가져온다.
pull은 기존 저장소에서 변경점만 업데이트한다.
git clone https://github.com/semteul/linux-analysis-notes.git
git 확장자 붙여주는거 잊지 말기

Downstream - origin - Upstream

상대적으로 원본을 upstream, clone하거나, fork한 것을 downstream이라고 한다.
제목: git cli 정리작성일: 2025. 03. 06.