간단하게 기본적인 git 명령어들을 정리해보겠습니다.
다음 명령어들은 주로 Source Tree를 이용해서 작업을 할 때 유용한 명령어를 위주로 정리하였습니다.
clone:
새 디렉터리에 repository을 복사한다.
git hub에서 서버의 프로젝트를 처음 내려받을 때 사용한다.
저장소의 내용을 다운로드 받고 자동으로 init작업도 한다.
기본 구조
# git clone (원격 저장소 URL)
# git clone -b (브랜치 명) (원격 저장소 URL)
init:
새 GIt 저장소를 생성하거나 기존 저장소 초기화
기본 구조
# git init
add:
내 컴퓨터에서 작접한 파일들을 스테이지(인덱스)에 추가
커밋 전 원하는 파일들을 묶는 행위
commit:
스테이지에 추가된 파일들을 내 컴퓨터에 저장하는 일
add로 스테이지에 추가한 내용들을 확정하는 일
※ 커밋이전 확정본에 대한 설명을 '자세히' 기입하는 습관을 가지자
push:
내 컴퓨터에 저장된 커밋들을 원격 저장소로 업로드 (협업)
기존에 있던 원격 저장소에 복제한 것이 아니라면 원격 서버의 주소를 입력한다.
checkout:
내가 사용할 브랜치를 지정해주는 명령어
기본 구조
# git checkout (branch)
# git checkout -b (branch) // 브랜치 작성과 체크아웃을 한번에
branch:
기능 변경을 하고 싶을 때, 안전하게 격리된 공간에서 작업할 공간을 생성하는 명령어
branch의 생성 및 제거, 확인 등의 기능을 수행한다. (스파게티 코드 방지)
다른 가지(branch)에서 개발을 진행하다 완료시 master가지로 돌아와 병합을 수행한다.
기본 구조
# git branch (branch) // 로컬에 (branch)이름의 branch를 생성한다.
# git branch -d (branch) // branch 삭제
# git branch -m (branch1) (branch2) // branch1 의 이름을 branch2로 변경한다.
# git branch -l // 로컬 저장소의 branch정보를 보여준다.
# git branch -r // 리모트 저장소의 branch정보를 보여준다.
# git branch -a // 로컬/리모트 저장소의 모든 branch정보를 보여준다.
merge:
한 브랜치의 내용을 다른 브랜치에 반영한다.
기본 구조
# git merge (commit) // commit이 HEAD가 가리키는 브랜치에 병합된다.
pull:
서버의 최신 내용을 가져올 경우 사용
pull = fetch + merge
예시
# git pull origin master // origin의 내용이 master로 복사
push:
- 커밋을 되돌리는 방법. 쉽지만 기존 작업한 커밋의 내용이 삭제된다
- reset이후 강제 푸쉬(push --force)를 적용해야 한다.
예시
# git reset --hard HEAD~~
revert:
- 커밋을 되돌리는 방법. 기존 작업한 커밋의 내용은 유지된다.
- 충돌발생 가능성이 높고, 다소 어려운 편
- 여러 개의 커밋을 되돌리고 싶은 경우, 최신부터 순서대로 revert를 반복 적용해야 충돌을 줄일 수 있음
- sourceTree의 커밋 되돌리기
예시
# git reset --hard HEAD~~
rebase:
- merge처럼 두 브랜치의 내용을 하나로 합칠 때 사용. merge보다 트리가 깔끔하게 유지된다.
- 충돌 가능성이 높다.
※기타
source tree의 코드뭉치 버리기
병합시 충돌을 피하기 위해서 브랜치에서 새 파일을 만들어 작업하는 방법이 있다
스태시 - 임시 저장 공간에 현재 작업 내용을 저장한다.
'프로그래밍 > 기타' 카테고리의 다른 글
[Git] Git Branch 관리 전략 (0) | 2022.05.04 |
---|---|
[MySQL] 기본명령어 모음 (0) | 2020.10.01 |
[MySQL] Cheatsheet 모음 (0) | 2020.10.01 |
[blockly]블록리 게임 미로 10단계 최고의 해법! (0) | 2020.10.01 |
[Git]Learn Git Branching, 깃허브 배우기 (0) | 2020.10.01 |