본문 바로가기

Git, Github

[Git] 기본용어와 자주쓰는 명령어들

728x90

Remote : 원격 서버라는 뜻으로 클라우드 스토리지 서비스와 비슷하게 Git의 서버에 우리의 소스를 데이터를 저장하게 되는 곳을 뜻한다.

 

Origin : 본인이 사용할 Remte 서버의 이름을 정해주어야 하는데 이때 주로 사용하는 이름이 Origin이다.

 

Repository : 저장소라는 뜻으로 리모트 서버 내에서 사용되는 프로젝트 단위

일반적으로는 1개의 레파지토리는 1개의 프로젝트이다.

 

Branch : 브랜치는 원본 파일에서 새로운 작업이 필요할 때 사용하는 기능이다.

맨 처음 Git을 만들게 되면(초기화하게 되면) 브랜치의 중심이 되는 master 브랜치가 생성된다.

이에 따라 추가하는 기능이나 내용에 따라 Branch를 따로 생성하여 작업하고 후에 Master로 합칠 수 있다.

(2020.10.01 부로 기본 브랜치의 이름이 master에서 main으로 변경되었다고 함)

 

Head : 지금 작업하고 있는 Branch를 가르킴

 


명령어

 

$ git init [project_name]
새로운 로컬 저장소 생성하기
$ git clone 저장소 주소
저장소 가져오기 (pull은 서버에 연결되어 있고 clone은 그렇지 않음)
$ git status
작업 디렉토리에 변경된 파일 보기
$ git diff
변경된 staged 파일 보기(내용확인)
$ git log
변경 이력 보기
$ git branch
로컬 브랜치 보기
$ git branch -r
원격 브랜치 목록보기
$ git branch -a 
로컬 브랜치 목록보기
$ git branch -d branch_name
브랜치 삭제하기
$ git push origin -d branch_name
원격 브랜치 삭제하기
$ git branch -av
로컬과 원격 브랜치 보기
$ git checkout <branch>
브랜치 이동하기
$ git branch <new-branch>
브랜치 생성하기
$ git tag <tag-name>
현재 커밋에 태그달기
$ git add [file]
파일의 변경사항 다음 커밋에 반영하기
$ git add .
모든 변경사항 다음 커밋에 반영하기
$ git commit -m "message"
메시지와 함께 커밋
$ git commit -a
모든 변경사항을 반영하면서 커밋하기
$ git reset
add한 파일 취소
특정 지점의 커밋으로 이동한다 (그 이후 커밋은 삭제되어 주의, push 후에는 다른사람의 코드에 문제를 일으킬 수 있음)
$ git fetch <remote>
원격 저장소의 변경사항 가져오기
$ git pull <remote> <branch>
변경사항 가져오고 병합하기
$ git merge <branch>
병합하기
$ git rebase <branch>
merge는 안전하지만 히스토리가 복잡할 수 있다.
rebase는 위험하지만 깔끔하게 관리할 수 있다.
$ git stash
임시 저장하기
(다른 작업이 생겼을 때 진행사항이 애매해 commit하기 곤란하거나 하는 상황에 사용)
$ git stash pop
임시 저장사항 복원하기
$ git stash list
임시 변경사항 보기

 

아직 이해되지 않는 개념들이 있지만 git을 사용해가며 익혀보도록 하자.