[Git] git 기본 명령어

Song_Song·2021년 6월 20일
0

Git 개념

초기화

git은 폴더의 모든 파일을 트레킹할 수 있다. 원하는 폴더에서 git 초기화 명령어부터 git 사용은 시작된다.

git init

연결

git 연결 확인 명령어

git remote -v

원격 저장소와 연결하는 명령어

git remote add [저장소 이름][저장소url]
ex) git remote add origin https://github.com/sloools/springBootPracticeApp.git

기존 원격 저장소 해제

git remote remove origin

staging

staging은 임시로 로컬에서 변경된 내용을 임시로 저장하는 공간이다.
staging 단계로 저장하고 싶으면 add 명령어를 사용하면 된다.

git add [file name]

디렉토리 전체를 올리고 싶으면 아래 명령어를 사용.

git add .

수정된 파일을 hunk(변경 사항의 단위) 별로 보여주면서(diff) staging에 올릴 지 말 지 체크

git add -p

staging에 올리지 않은 파일들은 untracked files로 분류된다. staging 단계로 올라가야 git이 파일을 트레킹할 수 있다는 것이다.

commit

디렉토리에서 변경된 파일을 local repo에 저장하는 과정을 commit 이라고 한다.

git commit -m [commit message]

staging 단계를 뛰어넘어 바로 commit을 하고 싶다면 -a 옵션을 사용한다.

git commit -am [commit message]

이전 단계의 커밋에 변경사항을 추가하고 싶으면 --amend 명령어를 사용한다.

git commit --amend




branch

브랜치는 git에서 작업을 하는 가지라고 생각하면 된다. git은 기본적으로 가장 중심이 되는 master라는 브랜치를 가지고 있고, 이 브랜치에서 다른 기능을 만들어야 하는 작업이 있을 때 다른 브랜치를 따서 개발하면 된다.

브랜치 목록 확인

앞에 별표(*)가 있는 것이 현재 브랜치이다

git branch

브랜치 추가

브랜치를 추가할 땐 [생성할 브랜치 명] + [기준 브랜치명] 순서로 만든다.

git branch b1 master

checkout

새로 만든 브랜치로 이동해서 작업하려면 checkout 명령어를 사용하면 된다.

git checkout b1

특정 파일 수정 중에 최근 커밋 버전으로 돌리고 싶을 때도 checkout을 사용한다

git checkout - 수정파일이름

브랜치 삭제

git branch -d [branch name]

merge(병합)

새로 만든 브랜치에서 다시 기준 브랜치에 반영하려면 merge 명령어를 사용한다.

git checkout master // 기준 브랜치 선택
git merge b1 // 새로 만든 브랜치를 기준 브랜치에 병합

fetch

원격저장소에 있는 최신 소스를 로컬 저장소로 가져오는 명령어이다

git fetch origin

pull

pull은 원격 저장소에 있는 소스와 내 소스가 다르다면 가져와서 업데이트 해준다. 즉 fetch + merge 라고 생각하면 된다. 명령어는 [원격저장소 이름] + [브랜치이름]이다.

git pull origin master




헤드는 현재 작업중인 커밋을 말한다.
즉, 내가 현재 어떤 작업공간에 있는지 나타내는 것이다. 보통 헤드는 브랜치의 이름을 가리킨다.
헤드는 브랜치별로 존재한다

  • ^, ~ : HEAD의 상대적 위치를 나타내며, 예를 들어 최근 3개의 위치를 지정하고 싶을 땐 HEAD^^^, HEAD~~~, HEAD^3, HEAD~3 로 나타낸다.

origin

add 명령어와 clone 명령어를 사용할 때 origin이라는 단어를 많이 봤을 것이다. origin은 원격 저장소의 이름을 뜻한다. git remote add origin [url] 형식으로 원격저장소를 추가할 때 자동으로 origin이라는 이름의 원격 저장소가 등록이 된다.

master가 브랜치의 기본 이름인 것처럼 origin은 원격 저장소의 기본 이름이다.

log, show

log 명령어로 간단한 커밋 정보를 볼 수 있고, show 명령어는 더 자세한 내용을 조회할 수 있다.

git log
git show

push 하지 않은 커밋 확인

git log --branches --not --remotes


잘 정리해놓은 블로그

상황별 git 명령어 : https://jeonghwan-kim.github.io/dev/2020/02/10/git-usage.html

push, pull 에러 : https://jobc.tistory.com/177

profile
성장을 위한 정리 블로그

0개의 댓글