개발자 도전기
[Git] CLI 및 Git 명령어 본문
CLI 명령어
| 명령어 | 실행결과 |
|---|---|
| pwd | 현재 작업 디렉토리 출력 |
| mkdir | 새 디렉토리 만들기 |
| rmdir | 디렉토리 지우기 (디렉토리가 비었을 때만 |
| ctrl + L | 화면 지우기 |
| cd | 디렉토리 변경 |
| cd .. | 상위 디렉토리로 이동 |
| cd - | 직전 작업 디렉토리로 이동 |
| touch | 새 파일 만들기 |
| ls | 현재 디렉토리의 파일목록 보기 |
| ls -l | 자세히 보기 |
| ls -a | 숨겨진 파일도 보기 |
| ls -al | 숨겨진 파일까지 자세히 보기 |
| echo | 출력하기 |
| > | 왼쪽 출력을 오른쪽으로 보내기 |
| >> | 왼쪽 출력을 오른쪽에 추가 |
| cat | 파일 내용 보기 |
GIT 명령어
| 명렁어 | 실행결과 |
|---|---|
| git init | 현재 폴더를 git이 버전관리 하는 폴더로 만듬 |
| git add | 커밋 후보로 올림(stage, index) |
| git add -A | 모든 변경파일 stage |
| git add . | 현재 폴더내의 모든 변경 파일 stage |
| git status | 현재 디렉토리의 상태 보기 |
| git commit | 현재 파일들의 (변경) 정보 (snapshot)를 저장 |
| git commit -m | 커밋 메시지와 함께 커밋 |
| git commit -a | stage와 커밋 한번에 하기 |
| git commit -am | 커밋 메시지와 stage, 커밋 한번에 |
| git commit --amend -m | 마지막 커밋 메시지 변경 |
| git log | 커밋 히스토리 보기 |
| git log --all | 모든 히스토리 보기 |
| git log --oneline | 로그를 한 줄로 보기 |
| git log --graph | 그래프로 보기 |
| git checkout | 다른 커밋으로 이동 |
| git checkout -b | 브런치 생성 후 이동 |
| git switch | 브랜치 이동 |
| git switch -c | 브랜치 생성 후 이동 |
| git branch | 브랜치 목록 보기 |
| git branch -v | 자세히 보기 |
| git branch - a | 모든 브랜치 목록 |
| git branch 별칭 커밋ID | 특정 커밋에 별칭 붙이기 |
| git branch 별칭 | 현재 커밋에 브랜치 생성 |
| git reset (--mixed) | 이전 커밋으로 돌아가기(modified) |
| git reset --soft | 이전 커밋으로 돌아가기(staged) |
| git reset --hard | 이전 커밋으로 돌아가기(unmodified) |
| git diff | 스테이지와 워킹 디렉토리 비교 |
| git rebase -i | 커밋 정리하기 |
| git rebase 브랜치명 | 현재 브랜치 시작 기준을 대상브랜치로 변경 |
| git merge 대상브랜치명 | 현재 브랜치에 대상브랜치명을 반영 |
| git remote add | 새 원격리포지토리 추가 |
| git remote | 원격 리포지토리 목록 보기 |
| git remote -v | 원격 리포지토리 목록 자세히 보기 |
| git clone | 원격리포지토리 최초로 받기 |
| git fetch | 원격리포지토리의 변경 사항 가져오기 |
| git pull | 원격리포지토리의 변경 사항을 fetch, merge |
| git config --global alias.별칭 명령어 | 명령어를 별칭으로 치환 |
Git 용어
HEAD : 현재 위치
HEAD~n : 현재 커밋의 n번째 전 커밋(부모)
branch :
특정 커밋의 별칭, 독립적인 작업관리의 영역(통합브랜치)
master : 자동으로 생성되는 최초의 브랜치(작업브랜치)
파일의 상태

- Untracked :
add하지 않은 파일.tracked되지 않으며.gitignore에 넣어Untracked상태를 유지할 수 있다 - Unmodified :
Commit후 수정되지 않은 상태 - Modified : 수정된 상태이며 아직
Staged에 올리지 않은 상태 - Staged :
Modified파일을 Stage에 올린 후Commit하지 않은 상태
merge
- fast-forward : 이전 버전에서 변경된 내용이 없는 경우 새로운 버전을 이전 버전 위에 덧붙여 적용
- 3 way merge : 두 개 이상의 브랜치에서 변경한 내용을 합병. 충돌 사항이 없는 경우
merge conflict없이 자동으로 병합되지만 동일한 파일을 변경했을 경우merge conflict가 발생해 수동으로 해결해주어야 함
'개발공부 > Git' 카테고리의 다른 글
| [Git] github에 repository 만들고 협업하기 (0) | 2024.04.03 |
|---|