관리 메뉴

CS

Git: 주요 명령어 본문

Git

Git: 주요 명령어

vcxz 2023. 11. 7. 12:21

 

 

push, pull, fetch 등 Git의 주요 명령어를 정리해보았습니다. 이것들만 알아도 기본적인 사용이 가능할 것 같습니다.

 

 

 

로컬 저장소 관련

 

init: 로컬 디렉토리를 Git 저장소로 만들기

git init
# 현재 디렉토리에 .git 디렉토리가 생성되며 현재 디렉토리가 Git 저장소가 됩니다.
# 이제 여기서 Git을 사용할 수 있습니다.

 

add: Git 저장소에 파일 추가

git add <파일명>
# git이 해당 파일을 추적(track)합니다.
# 디렉토리에 있는 파일을 Git 저장소에 등록합니다.
# 동시에 해당 파일이 stage됩니다. 이는 이후 커밋할 수 있는 상태입니다.
# 이 명령은 처음 만든 파일과 수정한 파일 모두에 사용할 수 있습니다.

 

rm: Git 저장소에서 파일 제거

git rm <파일명>
# Git 저장소에서 파일을 제거하며, 동시에 실제로 디렉토리에서도 파일을 제거합니다.

 

mv: Git 저장소에 있는 파일 이름 변경

git mv <원래파일명> <이후파일명>
# 파일 이름을 바꿈과 동시에 이를 Git 저장소에 등록합니다.
# [파일 복제 + 원래 파일 삭제 + git add]를 한 것과 동일합니다.

 

status: Git 저장소 현황 확인

git status
# 현재 브랜치의 변경된 파일 상황이 출력됩니다.
# 어떤 파일이 track되지 않았고, 어떤 파일이 staged인지 확인할 수 있습니다.

 

commit: Git 저장소 커밋하기

git commit [-m] [-a]
# staged 상태의 파일을 커밋합니다.
# 명령어를 입력하면 텍스트 에디터가 켜지는데, 여기서 커밋 메시지를 입력해야 합니다.

# -m: 텍스트 에디터 없이 바로 커밋 메시지를 입력할 수 있습니다.

# -a: staged 상태의 파일뿐만 아니라 tracked 상태의 파일도 커밋합니다.
# tracked 파일을 변경하였을 때 git add를 사용할 필요 없이 바로 커밋할 때 씁니다.

 

log: Git 저장소 히스토리 확인

git log [-<숫자>] [--oneline] [--graph] [--decorate]
# 최신부터 순서대로 커밋 히스토리를 출력합니다.
# 커밋 체크섬, 작성자, 날짜, 커밋 메시지 순으로 출력됩니다.

# -<숫자>: 히스토리를 특정 개수까지만 출력합니다.

# --oneline: 각 히스토리를 한 줄로 간단하게 표시합니다.

# --graph: 브랜치의 모습을 함께 보여줍니다.

# --decorate: 브랜치 이름을 함께 표시합니다.

 

remote: 리모트 저장소 목록 확인

git remote [-v]
# -v: URL도 표시합니다.

 

branch: 브랜치 목록 확인

git branch [-vv]
# 로컬에 존재하는 브랜치 목록을 보여줍니다.

# -vv: 각 브랜치가 따르는 리모트 브랜치 및 커밋 차이도 보여줍니다.
# 로컬에 존재하는 정보에 기반하므로, 현재 최신 정보를 알려면 'git fetch --all' 후 사용해야 합니다.

 

checkout: 브랜치 이동

git checkout <브랜치 이름>
# 해당 브랜치를 사용합니다.

 

merge: 브랜치 통합하기

git merge <브랜치 이름>
# 현재 브랜치와 해당 브랜치를 통합합니다.

 

리모트 저장소 관련

 

clone: 외부 기존 저장소 복제

git clone <url> [저장소명]
# 외부 저장소를 로컬로 복제합니다.
# 이후 해당 디렉토리로 이동하여 Git 저장소를 사용할 수 있습니다.
# 저장소명을 함께 입력하면 해당 저장소명을 따라 생성됩니다.

 

remote add: 리모트 저장소 추가

git remote add <저장소 이름> <url>
# 해당 URL의 리모트 저장소를 추가합니다.
# 이후 저장소 이름으로 URL을 대신할 수 있습니다.
# 즉 'git fetch 저장소 이름'처럼 사용할 수 있습니다.

 

fetch: 리모트 저장소에서 데이터 가져오기

git fetch <저장소 이름>
# 리모트 저장소에서 로컬로 데이터를 가져옵니다.
# 해당 리모트 저장소를 따르는 로컬 저장소로 데이터를 합치지는 않습니다.
# 즉 merge하지 않습니다.

 

pull: 리모트 저장소에서 데이터 가져오며 통합

git pull <저장소 이름>
# 리모트 저장소에서 데이터를 가져오며 동시에 로컬 브랜치에 통합합니다.
# ['git fetch' + 'git merge']와 동일합니다.

 

push: 리모트 저장소에 데이터 전송

git push <리모트 저장소 이름> <브랜치 이름>
# 해당 브랜치 데이터를 리모트 저장소로 전송합니다.