Git의 공식 명칭은 VCS(Version Control System, 분산 버전 관리 시스템)이다
git은 프로젝트 파일의 변경 사항을 추적할 수 있는 시스템이다. 이 기술을 통해 개발자들은 프로젝트의 내용이 변경될 때마다 변경 사항을 기록할 수 있고, 언제든지 이전 시점으로 돌아갈 수 있다.
특히 여러 사람들이 협업할 때 빛을 발하게 되는데, 각각의 개발자들이 본인의 프로젝트를 간단하게 기준이 되는 프로젝트에 병합시켜 통일된 하나의 프로젝트로 만들 수 있게 된다
그렇기 때문에 개발자들은 협업이 제일 중요하기 때문에 git을 다루는 것은 필수라고 할 수 있다.
우선 설치가 되어있는지 확인해보자
터미널에 git --version
이라고 입력해보자 설치가 되있다면 설치 버전이 출력될 것이고,
그렇지 않다면 brew install git
을 입력해서 설치할 수 있다.
git에 나의 정보를 등록해야 내가 원하는 이름과 메일주소로 log를 남길 수 있다
git config --global user.name "name"
git config --global user.email "email"
를 입력하여 본인의 정보를 입력하도록 하자
말 그대로 git을 관리하는 프로젝트 저장소다
2가지로 분류할 수 있다
내 컴퓨터에 저장된 프로젝트 저장소
내 컴퓨터가 아닌 외부 서버에 저장할 수 있는 프로젝트 저장소
주로 다른 사람과 협업할 때 유용하다, 로컬 버전의 프로젝트와 병합할 수도 있다
주로 github을 많이 사용한다고 한다
일단 git으로 프로젝트를 관리하기 위해선 해당 프로젝트가 있는 폴더에 접근하여 repository를 생성해야한다
터미널에서 원하는 폴더에 접근하여 git init
을 입력하면 해당 프로젝트 폴더에
.git이라는 숨겨진 파일을 생성한다
이 파일은 앞으로 프로젝트의 수정사항을 추적 및 관리하게 된다
commit은 프로젝트의 분기점을 남기는 것이라고 할 수 있다
내가 진행중인 프로젝트의 백업 포인트를 저장한다고 생각하면 편하다
commit을 진행하기 위해선 staging이라는 것이 이루어져야한다
staging을 하기 위해선 우선 터미널에서 git staus
명령어를 통해 repository의 현재 상태를 파악할 수 있다
On branch feature/3/jinunglee
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: js/detail.js
modified: js/login.js
no changes added to commit (use "git add" and/or "git commit -a")
Changes not stageed for commit:
구문을 통해 아직 staging이 안된 파일이 존재한다는 것을 알 수있다.
해당 파일들을 staging하기 위해 git add .
를 입력해주자
해당 폴더에 모든 unstageed 상태의 파일들을 staging하기 위한 명령어이다
On branch feature/3/jinunglee
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
modified: js/detail.js
modified: js/login.js
Changes to be committed:
구문을 통해 모든 파일이 staging되어 commit할 준비가 되었다는 것을 확인할 수 있다
git commit -m "comment"
을 통해 commit 할 수 있다
-m은 해당 commit에 대한 주석을 "comment"에 기입하여 남길 수 있게끔 해주는 명령어이다
이후 git log
를 통해 commit log를 살펴 볼 수 있고,
git checkout #hash_number
#hash_number에 commit log에서 확인할 수 있는 이전 commit 시점의 hash값을 입력해 전환 할 수도 있다.
branch란 독립적으로 작업을 진행하기 위한 개념이다. main/master에서 뻗어나온 각각의 branch는 다른 branch의 영향을 받지 않기 때문에 다양한 작업을 각각의 branch에서 수행하고 main/master로 다시 병합하여 프로젝트를 완성할 수 있게 된다
git branch "name"
명령어를 통해 새로운 branch를 생성할 수 있다
새로 생성된 branch는 현재 프로젝트의 코드를 반영하여 생성된다
git checkout "branch-name"
명령어를 통해 원하는 branch로 이동할 수 있다
branch가 전환된 이후 작업 내용은 이전 branch에 반영되지 않는다
branch 생성과 동시에 생성된 branch로 이동하고 싶다면 git checkout -b "branch-name"
을 입력하면 된다
git merge "branch-name"
명령어를 통해 다른 branch를 현재 작업하고 있는 branch에 병합할 수 있다
git branch -d "branch-name"
명렁어로 삭제할 수 있다
github에 회원가입을 한 후
위와 같은 페이지에서
New버튼을 눌려 새로운 Repository를 생성한다
이후 페이지에서 해당 구문을 복사한 뒤, 터미널에서 Local repository에 접근한뒤 해당 구문을 입력하면 내 Local repository가 GitHub에 연결된다
이때 요구하는 비밀번호 값은 settings > developer settings > personal access token에 들어가 토큰을 발급받아 그 값을 입력하면 된다
이후 git push origin main
을 입력하면 내 local repository에서 commit한 내용을 github에 저장 시킬 수 있다