Git & GitHub

이진웅·2021년 11월 26일
0

Linux / Terminal

목록 보기
2/2
post-thumbnail

Git?

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"

를 입력하여 본인의 정보를 입력하도록 하자

Repositories

말 그대로 git을 관리하는 프로젝트 저장소다

2가지로 분류할 수 있다

Local repository

내 컴퓨터에 저장된 프로젝트 저장소

Remote repository

내 컴퓨터가 아닌 외부 서버에 저장할 수 있는 프로젝트 저장소
주로 다른 사람과 협업할 때 유용하다, 로컬 버전의 프로젝트와 병합할 수도 있다
주로 github을 많이 사용한다고 한다

Repository 생성하기

일단 git으로 프로젝트를 관리하기 위해선 해당 프로젝트가 있는 폴더에 접근하여 repository를 생성해야한다

터미널에서 원하는 폴더에 접근하여 git init을 입력하면 해당 프로젝트 폴더에
.git이라는 숨겨진 파일을 생성한다

이 파일은 앞으로 프로젝트의 수정사항을 추적 및 관리하게 된다

Commit & Staging

commit은 프로젝트의 분기점을 남기는 것이라고 할 수 있다
내가 진행중인 프로젝트의 백업 포인트를 저장한다고 생각하면 편하다

commit을 진행하기 위해선 staging이라는 것이 이루어져야한다

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할 준비가 되었다는 것을 확인할 수 있다

commit

git commit -m "comment" 을 통해 commit 할 수 있다
-m은 해당 commit에 대한 주석을 "comment"에 기입하여 남길 수 있게끔 해주는 명령어이다

이후 git log를 통해 commit log를 살펴 볼 수 있고,
git checkout #hash_number #hash_number에 commit log에서 확인할 수 있는 이전 commit 시점의 hash값을 입력해 전환 할 수도 있다.

Branch

branch란 독립적으로 작업을 진행하기 위한 개념이다. main/master에서 뻗어나온 각각의 branch는 다른 branch의 영향을 받지 않기 때문에 다양한 작업을 각각의 branch에서 수행하고 main/master로 다시 병합하여 프로젝트를 완성할 수 있게 된다

새로운 branch 생성

git branch "name" 명령어를 통해 새로운 branch를 생성할 수 있다
새로 생성된 branch는 현재 프로젝트의 코드를 반영하여 생성된다

branch 전환

git checkout "branch-name" 명령어를 통해 원하는 branch로 이동할 수 있다
branch가 전환된 이후 작업 내용은 이전 branch에 반영되지 않는다

branch 생성과 동시에 생성된 branch로 이동하고 싶다면 git checkout -b "branch-name" 을 입력하면 된다

branch 병합

git merge "branch-name" 명령어를 통해 다른 branch를 현재 작업하고 있는 branch에 병합할 수 있다

branch 삭제

git branch -d "branch-name" 명렁어로 삭제할 수 있다

GitHub에 Repository연결하기

github에 회원가입을 한 후
위와 같은 페이지에서


New버튼을 눌려 새로운 Repository를 생성한다

이후 페이지에서 해당 구문을 복사한 뒤, 터미널에서 Local repository에 접근한뒤 해당 구문을 입력하면 내 Local repository가 GitHub에 연결된다

이때 요구하는 비밀번호 값은 settings > developer settings > personal access token에 들어가 토큰을 발급받아 그 값을 입력하면 된다

이후 git push origin main을 입력하면 내 local repository에서 commit한 내용을 github에 저장 시킬 수 있다

0개의 댓글