Git을 활용한 버전관리1 : Git 명령어 기초

DANO PARK·2022년 4월 12일
0
post-thumbnail

Git 초기 설정 명령어

▶ 개행문자(Newline) 설정

● Mac OS

$ git config --global core.autocrlf input

● Windows

$ git config --global core.autocrlf true

▶ 사용자 정보 등록

$ git config --global user.name 'MY_NAME'
$ git config --global user.email 'MY_EMAIL'
$ git config --global core.editor "vim"
$ git config --global core.pager "cat"

▶ 구성 확인

// Q키를 눌러 종료!
$ git config --global --list

Git 명령어

▶ 새로운 저장소 생성

$ git init

▶ 파일&커밋 생성 및 변경

// 파일 상태 확인
$ git status

// 커밋에 특정파일 변경사항을 포함
$ git add FILE_NAME

// 커밋에 모든 파일의 변경사항을 포함
$ git add .

// 커밋 생성
// -m을 안 쓸 경우(권장)
$ git commit

// -m을 사용할 경우
// 오타 수정 불가, 덮어쓰기 오류 발생 가능성 있음
$ git commit -m 'COMMIT_NAME'

▶ 변경사항 등록

// origin이라는 별칭으로 remote 주소 등록
$ git remote add origin (주소)

// 등록된 원격서버 주소 보기
$ git remote -v

// origin 별칭으로 등록된 remote 주소에 master 브랜치 업로드하기
$ git push origin master

// remote와 local 브랜치 싱크를 맞춰 업로드
$ git push -u orign NEW_BRANCH

// 원격서버에 저장된 프로젝트를 내려받고, 현재 위치한 브랜치로 통합
$ git pull origin BRANCH_NAME

▶ 브랜치 작업

// 브랜치 목록
$ git branch

// 새 브랜치 생성
$ git branch BRANCH_NAME

// 브랜치 삭제
$ git branch -D BRANCH_NAME

// 다른 브랜치로 이동
$ git switch BRANCH_NAME // 신버전
$ git checkout BRANCH_NAME // 구버전

// 브랜치 생성&이동
$ git branch -b BRANCH_NAME

▶ 브랜치 커밋 내용 확인

$ git log

▶ 프로젝트 복제

$ git clone (저장소 주소)

▶ 버전 되돌리기

버전 삭제 후 되돌리기
reset은 이전에 작업했던 commit 기록을 삭제하기 때문에, 권장되지 않는 방법입니다.

// 직전 @개 commit 삭제 후 remote에 강제 push
$ git reset --hard HEAD~@ 

// 변경 직전 커밋으로 리셋
$ git reset --hard ORIG_HEAD

버전 삭제하지않고 되돌리기

// 직전 @개 commit을 순서대로 거슬러 올라가 해당 내역에 대해 commit, push 수행
$ git revert --no-commit HEAD~@..

최신 commit으로 파일 내용 되돌리기

git restore NEW_FILE // 신버전
git checkout -- NEW_FILE // 구버전

워킹디렉토리에서 add 된 파일 되돌리기

$ git reset HEAD NEWFILE

commit 메세지 수정하기

$ git commit --amend

▶ 버전 합치기

// 현재 브랜치에 다른 브랜치 수정사항을 병합
$ git merge BRANCH_NAME

▶ 태그 추가하기

// 태그 생성
$ git tag TAG_NAME

// 태그를 원격저장소에 업로드
$ git push origin TAG_NAME

// 태그 삭제
$ git tag -d TAG_NAME

// 원격저장소에 업로드한 태그 삭제
$ git push origin :TAG_NAME

// 모든 태그 올리기
$ git --tags
profile
단오해서 단호박!

0개의 댓글