- Today
- Total
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- LEVEL 2
- mongodb
- CSS
- LEVEL 1
- Err-Handling
- 아고라스테이츠
- 프로그래머스
- TIL
- LEVEL1
- typescript
- 알고리즘
- 코어 자바스크립트
- sql
- Docker
- Refactoring
- TWIL
- 면접을 위한 cs 전공지식 노트
- CRUD
- Git
- 코딩테스트
- TMIL
- 에러핸들링
- 배포
- 리팩터링 2판
- javascript
- 오늘도 개발자가 안된다고 말했다
- First Project
- MariaDB
- java
- react
Archives
성장에 목마른 코린이
[Git] 명령어 Cheat Sheet 본문
728x90
Git 설정
로컬 레포지토리와 연결할 유저 정보를 설정합니다.
$ git config --global user.name "[firstname lastname]"
# 버전 히스토리를 식별할 때 사용할 이름을 설정합니다.
$ git config --global user.email “[valid-email]”
# 각 기록과 연결할 이메일 주소를 설정합니다.
도움말 보기
help 명령어를 이용하여 각 명령어 및 옵셥의 기능에 대해 살펴볼 수 있습니다.
$ git help -all
# git에서 제공하는 모든 명령어를 볼 수 있습니다.
$ git [command] -help
# 특정 command에서 사용할 수 있는 모든 옵션을 볼 수 있습니다.
세팅 및 초기화
레포지토리를 초가화하거나 존재하는 레포지토리를 클론할 수 있습니다.
$ git init
# 현재 디렉토리를 기준으로 Git 저장소가 생성됩니다.
$ git clone [url]
# URL을 통해 리모트 레포지토리를 로컬 레포지토리에 복제합니다.
Stage & Commit
스테이지 영역을 이용하여 커밋할 수 있습니다.
$ git status
# 다음 커밋을 위해 현재 디렉토리에서 수정된 파일을 확인할 수 있습니다.
$ git add [file]
# 다음 커밋을 위해 파일을 추가(스테이지)합니다. (stage)
$ git reset [file]
# 추가한 파일을 언스테이징합니다. 변경 사항은 유지됩니다.
$ git diff
# 스테이지되지 않은 변경 사항을 보여줍니다.
$ git diff --staged
# 스테이지했지만 커밋하지 않은 변경 사항을 보여줍니다.
$ git commit -m “[descriptive message]”
# 스테이지된 컨텐츠를 메시지와 함께 커밋합니다. (스냅샷 생성)
Branch & Merge
작업 내역을 브랜치로 분리해 컨텍스트를 변경, 통합할 수 있습니다.
$ git branch
# 브랜치 목록을 보여줍니다. * 표시로 현재 작업중인 브랜치를 확인할 수 있습니다.
$ git branch [branch-name]
# 현재 커밋에서 새로운 브랜치를 생성합니다.
$ git checkout [branch-name]
# 다른 브랜치로 전환합니다. -b 옵션으로 브랜치를 생성하고 전환할 수 있습니다.
$ git merge [branch-name]
# 현재 브랜치에 특정 브랜치의 히스토리를 병합합니다.
$ git log
# 현재 브랜치의 모든 커밋 히스토리를 보여줍니다.
비교 및 검사
로그 및 변경 사항을 검사할 수 있습니다.
$ git log branchB..branchA
# 브랜치B에 없는 브랜치A의 모든 커밋 히스토리를 보여줍니다.
$ git log --follow [file]
# 해당 파일의 변경 사항이 담긴 모든 커밋을 표시합니다. (파일 이름 변경도 표시)
$ git diff branchB...branchA
# 브랜치A에 있지만 브랜치B에 없는 것의 변경 내용(diff)을 표시합니다. (branch간 상태 비교)
공유 및 업데이트
특정 레포지토리의 업데이트 사항을 검색하여 로컬 레포지토리를 업데이트할 수 있습니다.
$ git remote add [alias] [url]
# url을 통해 특정 리모트 레포지토리를 별칭으로 추가합니다.
$ git fetch [alias]
# 별칭으로 추가한 리모트 레포지토리에 있는 모든 브랜치 및 데이터를 로컬로 가져옵니다.
$ git merge [alias]/[branch]
# 리모트 브랜치를 현재 작업중인 브랜치와 병합하여 최신 상태로 만들 수 있습니다.
$ git push [alias] [branch]
# 로컬 브랜치의 커밋을 리모트 브랜치로 전송합니다.
$ git pull
# 리모트 레포지토리의 정보를 가져와 자동으로 로컬 브랜치에 병합합니다.
히스토리 수정
브랜치 또는 커밋을 수정하거나 커밋 히스토리를 지울 수 있습니다.
$ git rebase [branch]
# 특정 브랜치의 분기 이후 커밋을 현재 작업중인 브랜치에 반영합니다.
$ git reset --hard [commitish]
# 득정 커밋 전으로 돌아가며 스테이지된 변경 사항을 모두 지웁니다.
임시 저장
브랜치를 전환하기 위해 변경되었거나 추적중인 파일을 임시로 저장할 수 있습니다.
$ git stash
# 수정하거나 스테이지된 변경사항을 스택에 임시 저장하고 현재 작업 내역에서 지웁니다.
$ git stash list
# 스택에 임시 저장된 변경사항의 목록을 보여줍니다.
$ git stash apply
# 스택에 임시 저장된 변경사항을 다시 현재 작업 내역에 적용합니다.
$ git stash pop
# 스택에 임시 저장된 변경사항을 다시 현재 작업 내역에 적용하고 스택에서 삭제합니다.
$ git stash drop
# 스택에 임시 저장된 변경사항을 삭제합니다.
'Git' 카테고리의 다른 글
[Git] github/gitlab 원격저장소에서만 필요없는 파일 제거 (0) | 2022.11.24 |
---|---|
[Git] Git Workflow (0) | 2022.11.01 |
[Git] Git flow (0) | 2022.10.31 |
Comments