-
Git CLI 버전관리 기초 명령어 & 사용방법 정리소소한 IT 이야기 2020. 4. 27. 19:29반응형
제가 Github에 가입한 것은 6년 전.. 계정 한번 날린 거 제외하면 7년 전인데요. 그동안 코드 업로드로 유용하게 잘 써왔습니다. 그리고 Github을 사용하여 코드를 관리하면서 지금까지 사소한 여러 문제들이 있었지만 그때마다 검색을 통해서 해결해왔고, 기본적인 사용에는 아무런 문제가 없다고 생각해왔습니다.
다만 최근에 친구가 Git에 대해서 질문을 해왔는데 이걸 설명하려고 하니 딱 막히는 느낌이 들어 내가 Git을 제대로 알고 있는 게 맞을까? Git의 기능도 많은데 내가 지금까지 제대로 활용하고 있었을까? 하는 생각이 들었습니다. 그리고 마침 생활코딩에서 Git 수업을 제공하고 있었고, 1시간 가량의 분량의 수업이기에 이번 기회에 간단히 정리해보기로 하였습니다.
Git의 3가지 주요 기능
1. 버전관리 Version
2. 백업 Backup
3. 협업 Collaborate
GIT Version Control CLI
제가 기존에 사용하던 프로그램은 Github desktop이었습니다. 그러다 보니 Git의 기능을 활용하는 데에는 문제가 없었지만 다른 사람들과의 협업에서 CLI 환경일 때, Github Desktop이 제공되지 않을 때의 상황에서는 Git사용에 제한이 많았습니다. 특히 GUI 환경을 사용할 수 없는 환경에서는 CLI로 Git을 사용해야 하므로 CLI에서의 Git 사용방법을 알아보았습니다.
git init 명령어
mater 디렉토리에서 사용하는 명령어로 이 명령어를 사용하게 되면 해당 디렉터리가 git의 최상위 디렉터리로 설정되며. git폴더(숨김 처리된)가 생기고 git을 사용하기 위한 환경설정 파일들이 생성됩니다. 이후 생성되는 .git 폴더를 삭제할 경우 git에 관련된 환경설정, 기록이 모두 삭제되므로 절대로 삭제해서는 안됩니다.
전에 npm을 사용하면서 처음에 사용하는것과 비슷하여 익숙하였습니다.
Working tree
수정해야하는곳, 수정할 파일들
Staging Area
버전을 만드려고 하는 파일들
Repository
만들어진 버전
git status 명령어
git의 현재 상태를 알 수 있는 명령어
git add 파일명 명령어
staging area에 파일을 추가하는 명령어
git commit -m "메시지" 명령어
staging area에 올린 파일을 repository로 옮기고 메시지를 통해 커밋 내용을 기록, -m를 사용하지 않을 경우 기본 에디터가 실행됨.
git log 명령어
git의 commit된 기록을 확인할 수 있는 명령어
git log --stat 명령어
git에 어떤 파일이 커밋되었는지 확인 가능한 명령어
git diff 명령어
수정된 차이점을 보여주는 명령어
git reset --hard 명령어
마지막으로 수정된 이전 버전으로 되돌리는 명령어
git log -p 명령어
로그별 차이점을 확인할 수 있는 명령어
git checkout 커밋 ID 명령어
해당 커밋ID로 되돌리는 명령어, 하지만 아직 Commit 된 상태는 아님
git checkout master
원래 기존의 master 상태로 되돌리는 명령어
git config --global core.editor "편집기 이름 또는 경로" 명령어
git commit시 사용할 편집기 설정 명령어
git reset --hard 커밋ID 명령어
해당 커밋ID으로 리셋하는 명령어, 해당 버전이 삭제됨
git revert 커밋 ID 명령어
해당 커밋 ID로 되돌리는 명령어, 하지만 커밋된 역순으로만 revert 가능
.gitignore 파일
버전 관리하고 싶지 않은 파일들을 설정하기 위한 파일
반응형'소소한 IT 이야기' 카테고리의 다른 글
dotenv 패키지로 Node.js에서 환경변수 사용하기 (0) 2020.04.30 Heroku에 올려진 프로젝트 AWS Lightsail로 이전 작업기 - 초기작업 (0) 2020.04.29 Nodemon delay로 인한 Express.js & React.js 서버 문제 해결 (0) 2019.11.11 Github README.md에 뱃지사용으로 차별화하기 (0) 2019.10.22 당신이 Upwork에서 일을 구하기 힘든 이유 (0) 2019.10.08