git init - git 저장소 생성
- git 초기화
- git으로 버전관리를 할 경로에서 사용하며, .git 폴더가 생성됨
→ 기존 디렉토리 사용
- Git을 사용할 프로젝트 폴더로 이동 후 아래의 명령어 실행
$ git init
ex) elice라는 폴더를 git 저장소로 만들려면 수행해야할 명령어는?
- c:/Users/madHatter
- elice 폴더는 c:/Users/madHatter/teaparty/elice
- cd 명령어로 elice 폴더로 들어가서 git init 실행
- git init ./teaparty/elice 실행
git status - staging 상태 확인
- 어떤 파일이 변경되었는지 등의 파일의 상태를 확인할 수 있음
git add -
- 파일의 변경 내용을 스테이징 영역(staging area)에 추가하기 위해 사용하는 명령어
# 모든 변경점 추가
$ git add -A
# 현재 경로의 모든 변경점 추가
$ git add .
# README.md 파일만 추가
$ git add README.md
git commit - 변경 내용 저장
# 메시지와 함께 커밋
$ git commit -m 'First Commit'
# 신규 파일을 제외한 변경사항을 Staging 후 커밋
$ git commit -a
# 이전 커밋 변경
$ git commit --amend
git log
- commit 목록 볼 수 있음
# --stat : 어떤 파일이 commit에서 수정되고 변경되었는지, 파일 내 라인이 추가되거나 삭제되었는지 확인
$ git log --stat
# branch 그래프를 추가하여 보기
$ git log --graph
# 모든 branch 보기
$ git log --all
# commit 메시지 제목만 한줄로 보기
$ git log --pretty=online
# -p, --patch : 각 commit의 수정 결과를 보여주는 diff와 동일
# -n : 상위 n개의 commit만 보여줌
$ git log -p -2
# -S : 코드에서 추가되거나 제거된 내용 중 특정 텍스트(funtion_name)가 포함되어 있는지 검사
$ git log -S function_name
git rm
- 파일을 지우거나 스테이지에서 해제할 때 사용합니다.
# 파일 삭제
$ git rm README.md
# README.md 파일을 추적되지 않은 상태로 만듦
$ git rm --cached README.md
git show
- commit 의 상세 정보를 확인합니다.
# 현재 branch의 가장 최근 commit 정보를 확인
$ git show
# 특정 commit 정보를 확인
$ git show [commit 해시값]
# 특정 branch의 가장 최근 commit 정보를 확인
$ git show [branch 명]
git reset HEAD [file]
- commit 을 취소할 수 있습니다.
# commit을 취소하고 해당 파일들은 스테이징 영역에 보존
$ git reset --soft HEAD^
# commit을 취소하고 해당 파일들은 Unstaging
$ git reset --mixed HEAD^
$ git reset HEAD^
# commit을 취소하고 해당 파일들의 변경점 삭제
$ git reset --hard HEAD^
- push를 취소할 수 있습니다.
$ git reset HEAD^
$ git push -f origin 브랜치명
$ git pull
git remote
- 원격 저장소(remote repository)를 관리하는 명령어 입니다.
# 설정된 원격 저장소 보기
$ git remote -v
# 원격 저장소 이름 변경 (origin에서 git_test로 변경)
$ git remote rename origin git_test
# test 라는 이름으로 원격 저장소 추가하기
$ git remote add test <https://github.com/test/test>
git branch
- branch에 관련한 명령어 입니다.
# 로컬 branch 목록 확인
$ git branch
# 원격 저장소를 포함한 모든 branch 목록 확인
$ git branch -
# test 라는 branch 생성하기
$ git branch test
# test 로컬 branch를 origin이라는 원격 저장소의 test branch에 연결
$ git branch --set-upstream-to=origin/test test
# test branch 삭제
$ git branch -d test
# test branch 강제 삭제
$ git branch -D test
git checkout
- branch를 변경하고 워킹 트리(Working tree)에서 변경점을 복원하는 명령어 입니다.
# test branch로 변경하기
$ git checkout test
# test2 라는 branch를 새로 생성하고 test2 branch로 변경하기
$ git checkout -b test2
# Unstaged 상태의 파일을 원래대로 되돌림
$ git checkout -- [파일명]
# Unstaged 상태의 현재 경로의 모든 파일을 원래대로 되돌림
$ git checkout -- .
git fetch
- 원격 저장소(remote repository)의 데이터를 가져옵니다. pull 로 병합하기 전에 어떤 변경점이 있나 살펴볼 때 사용하기 좋습니다.
# origin 이라는 원격 저장소의 데이터를 가져옴
$ git fetch origin
# 모든 원격 저장소의 데이터를 가져옴
$ git fetch --all
# 원격 저장소에서 삭제된 branch를 로컬에서도 삭제
$ git fetch --prune
git pull
- 원격 저장소(remote repository)의 데이터를 가져온 후 로컬 branch에 병합
# git fetch --all && git pull 과 같습니다
$ git pull --all
git push
- 원격 저장소(remote repository)에 코드 변경분을 업로드합니다.
# 기본 사용법
$ git push [저장소명] [branch]
# 최초 1회 저장소, branch 지정. 이 후, 생략 가능
$ git push -u [저장소명] [branch]
# 로컬에서 생성한 branch를 push
$ git push --set-upstream [저장소명] [branch]
git merge
- 현재 브랜치를 특정 브랜치의 소스와 병합
# master branch를 병합
git merge master
# 병합 충돌(Conflict) 발생 시 취소
git merge --abort
# 공백으로 인한 병합 충돌을 무시하고 병합
git merge -Xignore-all-space
git clone
- 기존의 git repository를 복사
$ git clone <https://gitlab.com/group/project>
$ git remote add origin <https://gitlab.com/group/project>
'Tools > Git' 카테고리의 다른 글
[Git] Git 프로젝트 올리기 (0) | 2024.06.14 |
---|---|
[Git] GitLab (0) | 2024.06.14 |
[Git] Git 설치 (0) | 2024.06.14 |
[Git] Git이란? (0) | 2024.06.14 |
[Git] 이미 Push한 커밋 수정하기 (0) | 2023.09.30 |