Jin's Dev Story

[Git] Git 명령어 본문

Tools/Git

[Git] Git 명령어

woojin._. 2024. 6. 14. 13:03

git init - git 저장소 생성

  • git 초기화
  • git으로 버전관리를 할 경로에서 사용하며, .git 폴더가 생성됨

→ 기존 디렉토리 사용

  • Git을 사용할 프로젝트 폴더로 이동 후 아래의 명령어 실행
$ git init

ex) elice라는 폴더를 git 저장소로 만들려면 수행해야할 명령어는?

  • c:/Users/madHatter
  • elice 폴더는 c:/Users/madHatter/teaparty/elice
    1. cd 명령어로 elice 폴더로 들어가서 git init 실행
    2. git init ./teaparty/elice 실행

git status - staging 상태 확인

  • 어떤 파일이 변경되었는지 등의 파일의 상태를 확인할 수 있음

git add -

  • 파일의 변경 내용을 스테이징 영역(staging area)에 추가하기 위해 사용하는 명령어
# 모든 변경점 추가
$ git add -A

# 현재 경로의 모든 변경점 추가
$ git add .

# README.md 파일만 추가
$ git add README.md

git commit - 변경 내용 저장

# 메시지와 함께 커밋
$ git commit -m 'First Commit'

# 신규 파일을 제외한 변경사항을 Staging 후 커밋
$ git commit -a

# 이전 커밋 변경
$ git commit --amend

git log

  • commit 목록 볼 수 있음
# --stat : 어떤 파일이 commit에서 수정되고 변경되었는지, 파일 내 라인이 추가되거나 삭제되었는지 확인
$ git log --stat

# branch 그래프를 추가하여 보기
$ git log --graph

# 모든 branch 보기
$ git log --all

# commit 메시지 제목만 한줄로 보기
$ git log --pretty=online

# -p, --patch : 각 commit의 수정 결과를 보여주는 diff와 동일
# -n : 상위 n개의 commit만 보여줌
$ git log -p -2

# -S : 코드에서 추가되거나 제거된 내용 중 특정 텍스트(funtion_name)가 포함되어 있는지 검사
$ git log -S function_name

git rm

  • 파일을 지우거나 스테이지에서 해제할 때 사용합니다.
# 파일 삭제
$ git rm README.md

# README.md 파일을 추적되지 않은 상태로 만듦
$ git rm --cached README.md

git show

  • commit 의 상세 정보를 확인합니다.
# 현재 branch의 가장 최근 commit 정보를 확인
$ git show

# 특정 commit 정보를 확인
$ git show [commit 해시값]

# 특정 branch의 가장 최근 commit 정보를 확인
$ git show [branch 명]

git reset HEAD [file]

  • commit 을 취소할 수 있습니다.
# commit을 취소하고 해당 파일들은 스테이징 영역에 보존
$ git reset --soft HEAD^

# commit을 취소하고 해당 파일들은 Unstaging
$ git reset --mixed HEAD^
$ git reset HEAD^

# commit을 취소하고 해당 파일들의 변경점 삭제
$ git reset --hard HEAD^
  • push를 취소할 수 있습니다.
$ git reset HEAD^
$ git push -f origin 브랜치명
$ git pull

git remote

  • 원격 저장소(remote repository)를 관리하는 명령어 입니다.
# 설정된 원격 저장소 보기
$ git remote -v

# 원격 저장소 이름 변경 (origin에서 git_test로 변경)
$ git remote rename origin git_test

# test 라는 이름으로 원격 저장소 추가하기
$ git remote add test <https://github.com/test/test>

git branch

  • branch에 관련한 명령어 입니다.
# 로컬 branch 목록 확인
$ git branch
# 원격 저장소를 포함한 모든 branch 목록 확인
$ git branch -
# test 라는 branch 생성하기
$ git branch test
# test 로컬 branch를 origin이라는 원격 저장소의 test branch에 연결
$ git branch --set-upstream-to=origin/test test
# test branch 삭제
$ git branch -d test
# test branch 강제 삭제
$ git branch -D test

git checkout

  • branch를 변경하고 워킹 트리(Working tree)에서 변경점을 복원하는 명령어 입니다.
# test branch로 변경하기
$ git checkout test
# test2 라는 branch를 새로 생성하고 test2 branch로 변경하기
$ git checkout -b test2
# Unstaged 상태의 파일을 원래대로 되돌림
$ git checkout -- [파일명]
# Unstaged 상태의 현재 경로의 모든 파일을 원래대로 되돌림
$ git checkout -- .

git fetch

  • 원격 저장소(remote repository)의 데이터를 가져옵니다. pull 로 병합하기 전에 어떤 변경점이 있나 살펴볼 때 사용하기 좋습니다.
# origin 이라는 원격 저장소의 데이터를 가져옴
$ git fetch origin
# 모든 원격 저장소의 데이터를 가져옴
$ git fetch --all
# 원격 저장소에서 삭제된 branch를 로컬에서도 삭제
$ git fetch --prune

git pull

  • 원격 저장소(remote repository)의 데이터를 가져온 후 로컬 branch에 병합
# git fetch --all && git pull 과 같습니다
$ git pull --all

git push

  • 원격 저장소(remote repository)에 코드 변경분을 업로드합니다.
# 기본 사용법
$ git push [저장소명] [branch]
# 최초 1회 저장소, branch 지정. 이 후, 생략 가능
$ git push -u [저장소명] [branch]
# 로컬에서 생성한 branch를 push
$ git push --set-upstream [저장소명] [branch]

git merge

  • 현재 브랜치를 특정 브랜치의 소스와 병합
# master branch를 병합
git merge master
# 병합 충돌(Conflict) 발생 시 취소
git merge --abort
# 공백으로 인한 병합 충돌을 무시하고 병합
git merge -Xignore-all-space

git clone

  • 기존의 git repository를 복사
$ git clone <https://gitlab.com/group/project>

$ git remote add origin <https://gitlab.com/group/project>

'Tools > Git' 카테고리의 다른 글

[Git] Git 프로젝트 올리기  (0) 2024.06.14
[Git] GitLab  (0) 2024.06.14
[Git] Git 설치  (0) 2024.06.14
[Git] Git이란?  (0) 2024.06.14
[Git] 이미 Push한 커밋 수정하기  (0) 2023.09.30