본문 바로가기
카테고리 없음

깃 git , 깃허브 github 기초 사용법, 명령어.

2025. 4. 9.

깃 시작하기

 
git init

→ 이 명령어를 실행하면 폴더 안에 숨겨진 .git 폴더가 생김,

 

상태 확인

git status

- 변경된 것이 있는지, 지금 브랜치가 어딘지 등 보여줌

 

커밋하기(현시점 저장하기)

 
git add .

→ 현재 폴더 및 하위폴더 안의 모든 파일을 커밋 대상으로 추가 (스테이징)
(특정 파일만 하고 싶으면 git add 파일명)
* 스테이징이 파일이 올라간 시점부터 추적 시작

git commit -m  "커밋 이름"
  • 여기서 -m은 --message의 축약형
  • 즉, 커밋에 붙일 메시지를 바로 입력하겠다는 뜻

 

깃허브에 올리기 :  git push

깃허브에서 내려받기 : git pull

 

Git 현재 커밋들 보는 방법  (종료는 q)
  • git log
  • git log --oneline   (한줄요약)
  • git log --oneline --graph --all --decorate  (브랜치 흐름까지)
  • git log -n 3  (최근 2개만)
  • git log --graph (브랜치 시각화)

 

깃허브에 있는거 로컬로 내려받기 : git clone [저장소 주소]

수정된 내용 확인(커밋 전) : git diff

도움말 : git help [명령어]

 

<브랜치 관리>

  • git branch  : 브랜치 목록 보기 
  • git branch [브랜치명]   : 브랜치 만들기
  • git checkout [브랜치명]  : 해당 브랜치로 전환
상황 명령어
현재 브랜치만 푸시 git push
특정 브랜치 푸시 git push origin 브랜치명
새 브랜치 푸시 git push -u origin 브랜치명 → 이 후엔 git push만 써도 연결됨

* 새 브랜치 만든 이후엔 push 하기 위해  다시 < git push -u origin 브랜치명 > 해줘야 함 (저장소에 공간 생성 및 연결)

 

 

<깃허브에 올리기>

GitHub에 새 저장소 생성

  1. GitHub 접속 → 우측 상단 ‘+’ → New repository
  2. Repository 이름 입력 (예: my-project)
  3. Initialize this repository with a README 체크하지 마세요.
  4. Create repository 클릭
git remote add origin https://github.com/john-doe/my-project.git
git branch -M main 
git push -u origin main

* origin은 원격 저장소(프로젝트 폴더) URL에 붙인 별명(원하는 걸로 입력 가능)

* 저장소 별명 바꾸기 : git remote rename 기존이름 새이름

연결된 원격 저장소 확인 : git remote -v

*  git fetch origin: 가져오기만 하기 (병합은 안함). pull은 가져와서 병합까지 함

git branch -M main

  • 현재 브랜치 이름을 main으로 바꿈
  • 설령 main이라는 브랜치가 이미 있더라도 덮어씀
  • -M은 --move --force의 약자. 즉, 브랜치 이름을 "강제로" 바꾸는 명령어

git push -u origin main
로컬의 main 브랜치를 원격(origin)의 main 브랜치에 업로드하는 명령
-u는 앞으로 git push 명령만으로도 이 브랜치에 푸시할 수 있도록 연결을 설정하는 옵션입니다.
-u는  --set-upstream의 약자.
* 업스트림 및 브랜치 확인 : git branch -vv
    * vv: 아주 자세히 ;   verbose verbose

* vs code 또는 cursor ai 좌측 하단에 현재 브랜치 표시됨

vs code에서는 기본적으로 좌측 창에 별도로 git을 gui로 쓸 수 있는 기능을 넣어놓음

메시지 창에 커밋할 이름을 적고 커밋을 누르면 된다. add 안해도 물어볼때 yes 누르면 된다.

push 까지 클릭으로 된다.

커서에선 변경내용 자동요약도 됨

 

*VS code 와 github 모두

 

  • 지금 내 로컬과 깃허브의 차이점 확인하기( push가 필요한지 검토): git status    (마지막 커밋 이후 수정된 내용도 확인 가능) 
  • 브랜치별로 add, commit, push는 각각 해야 함

 

 

<stash - 커밋 전 작업 임시 저장>

상황예시  - 커밋하고 싶진 않은데 저장해놓고 다른 브랜치로 가서 작업할 경우

git stash save "브랜치 1 작업 내용 임시 저장"

git stash    : 이런 식으로 이름 안붙이고도 가능

브랜치2로 이동  :  git checkout 브랜치2

브랜치2에서도 커밋하긴 그렇고 임시저장 : git stash save "브랜치 2 작업 내용 임시 저장" 

브랜치 1로 돌아오기 : git checkout 브랜치1

저장된 stash 리스트 보기 : git stash list   (stash는 브랜치와 상관없이 통합사용) 

git stash list 출력 예시:

stash@{0}: On 브랜치2: 브랜치 2 작업 내용 임시 저장
stash@{1}: On 브랜치1: 브랜치 1 작업 내용 임시 저장
stash@{2}: On main: 초기 작업 내용 임시 저장

git stash apply: 가장 최근 stash 적용(불러오기)

특정 stash 적용하기 :  git stash apply stash@{0}  (0에 해당 숫자)

특정 stash 제거하기 : git stash drop stash@{0}

적용하면서 바로 제거하기 : git stash pop stash@{0}

* Untracked 파일(새로 생성했는데 아직 add로 스테이징 영역에 올리지 않은 것)까지 stash에 포함하려면  
    git stash -u        또는        git stash --include-untracked

 

 

커밋 되돌리기 (최근 커밋 지우기)

git reset --soft HEAD~1    # 커밋만 삭제, 변경 내용은 스테이징 상태로 유지
# 또는
git reset --mixed HEAD~1   # 커밋 삭제 + 스테이징 해제
# 또는
git reset --hard HEAD~1    # 커밋과 변경 내용 완전 삭제 (주의!)

* HEAD는 현재 체크아웃(작업 중)한 브랜치의 가장 마지막 커밋을 의미

표현 의미
HEAD 현재 커밋
HEAD~1 1단계 이전 커밋 (한 칸 뒤로 가기)
HEAD~2 2단계 이전 커밋
HEAD~3 3단계 이전 커밋 ...

 

댓글