📢 어렵고 정석적인 개념 설명보다는 저같은 초보자도 이해하기 쉽게 정리하는 것을 원칙으로 포스팅하고 있습니다. 😄
개념
Git은 형상 관리 도구(버전 관리 도구) 중 하나로 개발자라면 반드시 써야할 필수 도구라고 할 수 있다.
특히, Git의 브랜치라는 것을 통해 병렬적으로 여러 명이서 개발이 가능하기 때문에 개발자끼리의 협업을 위해 매우 유용한 도구이며 협업뿐만 아니라 개인 프로젝트 또한 체계적으로 관리가 가능하다. 이러한 이유들로 이제 개발자라면 필수 교양급으로 Git을 사용할 줄 알아야 한다. (Git과 Github는 다르다. Git은 시스템이고, Github는 플랫폼이다.)
방법
Git 초기 설정
git config --global user.name "이름"
git config --global user.email "이메일"
나같은 경우에는 VS Code의 터미널을 Git Bash로 변경하여 사용하고 있다. Ctrl + Shift + P를 눌러서 검색창을 띄우고 Select Default Profile을 검색하여 선택 후 Git Bash를 선택하면 된다.
Git을 자신의 컴퓨터에서 처음 사용한다면 사용자 이름과 이메일 주소를 초기 설정해줘야 한다. 위 코드에 값을 넣지 않고, "git config --global user.name"만 입력하면 사용자의 이름을 확인할 수 있다. (이메일도 마찬가지) 처음으로 업무에 할당되고 Git을 통해 협업을 한다고 하면, 이것 먼저 설정하는 게 좋다.
Git으로 관리 시작하기
git init
내 프로젝트를 이제 Git으로 관리하고 싶다하면, 위와 같은 코드를 입력하면 된다. 그럼 프로젝트 폴더 안에 .git이라는 숨김 폴더가 생기게 되는데 이 폴더의 유무로 Git으로 관리하는 지 알 수 있다.
git add index.html (일부)
git add . (전체)
git init으로 관리를 시작한다고 했지 뭘 관리하겠냐는 아직 정하지 않았다. 이 때 필요한 것이 add 명령어이다.
git add 파일명으로 관리할 파일을 Git 안에 담는 것이다. git add . 을 통해 전체 파일을 다 담을 수도 있다. 대체로 프로젝트는 통째로 관리하는 게 일반적이기 때문에 웬만하면 git add . 을 사용하는 게 좋다.
git commit -m "커밋 메세지"
git commit -am "커밋 메세지" (add 기능까지 포함)
이제 add 명령어를 통해 담았으니, 기록을 남겨야 한다. Git은 버전 관리 도구이므로, 새로운 기능이 개발될 때마다 버전이 올라가듯이 commit을 통해 과거의 흔적을 남겨둬야 한다. 이를 통해 Git으로 관리하면 과거로 되돌아갈 수 있구나도 알 수 있다.
init, add, commit이 사실상 Git의 문을 여는 열쇠같은 역할의 명령어들이다.
보통 코드를 수정하고 -> add로 담고 -> commit으로 기록하는 일련의 과정을 거친다. 그래서 매번 코드를 수정할 때마다 add와 commit을 사용하는 게 번거로운 일이라고 생각될 수 있다. 그럴 때는 "git commit -am"을 통해 add와 commit을 한 번에 할 수 있다. (파일의 추가/삭제는 따로 add 해야 함)
Git의 관리 상태 확인하기
git status
git status를 통해 현재 Git으로 관리하는 프로젝트의 상태가 어떠한 상태인지를 알려준다. (Git에 담겼는지의 여부) 예를 들어 아직 코드 수정만 한 상태인지, add를 아직 하지 않은 파일이 있는지 등의 여부를 알려주는 역할을 한다.
git log
git log는 그동안의 커밋 기록을 보여준다. 참고로 log 명령어를 입력하면 Vim이라고 하는 모드로 진입하는데, j로 아래, k로 위 스크롤이 가능하며 :q로 나갈 수 있다. 주로 각 커밋의 해시코드를 확인하기 위해 사용한다.
'Git' 카테고리의 다른 글
[Git] GitHub로 협력 시 커밋 관리하기 (push, pull) (0) | 2022.03.29 |
---|---|
[Git] GitHub로 프로젝트 올리고 받는 방법 (0) | 2022.03.29 |
[Git] 브랜치(Branch) 병합하는 방법 (merge, rebase) (0) | 2022.03.28 |
[Git] 또 다른 차원, 브랜치(Branch) 만들고 이동하기 (0) | 2022.03.22 |
[Git] Git의 commit을 기준으로 과거로 돌아가기 (0) | 2022.03.22 |