TIL # 54 : [Git & Github] Git 명령어 및 구조

셀레스틴 허·2021년 1월 31일
0
post-thumbnail

목차

1) Git
1.1. Git 다운로드 받기
1.2. Repositories - Local, Remote
1.3. Git으로 프로젝트 관리 시작하기
1.4. Staging area
1.5. Making Commits
1.6. Commit History
1.7. .gitIgnore file

2) Branch
2.1. Branch 만들기
2.2. Branch 바꾸기, checkout
2.3. Branch 병합하기
2.4. Branch 삭제하기

3) Commit, Push, Pull Request
3.1. Git Push
3.2. Pull Request

1) Git


1.1. Git 다운로드 받기

Git Download Link으로 가서 운영체제에 맞는 파일을 다운로드 한다.

그런 다음 터미널에 해당 명령어를 통해 성공적으로 설치했는지 확인한다.

git version

또한 본인정보를 등록하기 위해 해당 명령어도 진행한다.

git config --global user.name "NAME"
git config --global user.email "EMAIL"

1.2. Repositories - Local, Remote

Repository는 Git으로 관리하는 프로젝트 저장소이며 크게 두가지로 나뉜다.

1.2.1. Local Repository

내 컴퓨터에 저장된 버전의 저장소

1.2.2. Remote Repository

외부(원격 서버) 버전의 저장소. 여기서 코드를 공유할 수 있으며 타인의 코드도 확인할 수 있다. 로컬 버전의 프로젝트와 병합 및 변경사항을 기록할 수 있는 곳이다.

1.3. Git으로 프로젝트 관리 시작하기

1.3.1. github.com으로 가서 새로운 저장소를 만든다.

✅ 왼쪽에 있는 초록색 버튼을 클릭하고,

✅ 새로운 저장소를 만든다.

✅ 그 다음 터미널로 프로젝트 폴더로 이동 후 Git을 활성화시킨다.

git init

이제 Git은 현재 프로젝트 파일에 있는 모든 변경사항을 추적하고 관리한다.

1.4. Staging area

Commit을 하고싶으면 코드를 staging area로 추가해야 한다.

해당 명령어로 저장소의 현재 상태를 확인할 수 있다. 어떤 파일들이 변경됐는지, 어떤 파일들이 추가됐는지 볼 수 있다.

git status

상태를 확인했으면 이제 commmit으로 남기기 위해 staging area로 추가해줘야 한다.

# 특정 파일 추가
git add even_nums.py
git add even_nums.py odd_nums.py

# 모든 파일 추가 
git add .

1.5. Making Commits

Commit이란 특정 시간의 코드 스냅샷이라고 생각하면 된다. 이는 저장소에 기록으로 남게 되며 staging area에 파일을 추가했다면 staging area에 있는 파일들을 commit할 수 있다!

git commit -m "기록용 메세지"

commit과 함께 작성한 메세지는 변경사항을 설명하는 짧은 요약이어야 한다. 상세하게 적어야하며 이 또한 기록으로 남기에 잘 생각하고 적자.

1.6. Commit History

프로젝트 내의 모든 commit 내역은 해당 명령어를 통해 확인할 수 있다. 작성자부터 hash값 등등 상세 정보를 확인할 수 있으며 특정 commit 시점으로 코드를 돌릴 수도 있다.

# commit 내역 확인
git log

# 특정 commit 시점으로 코드 돌리기
git checkout commithash값

1.7. .gitIgnore file

staging area에 추가하고 싶지 않거나 git에 관리할 필요 없는 파일ㅇㅇ이라면 .gitIgnore 파일을 생성해 원하는 파일명, 폴더명을 입력하면 된다. 각 파일, 폴더는 새로운 줄에 입력해야한다.

** 백엔드의 경우 SECRET_KEY 및 데이터베이스 정보 처럼 보안이 필요한 정보들은 따로 파일에 담아 .gitIgnore 파일에 추가하면 된다.

2) Branch


브랜치란 독립적으로 어떤 작업을 진행할 수 있는 공간이다. 각가의 브랜치는 다른 브랜치의 영향을 받지 않으며 여러 작업을 동시에 진행할 수 있다는 장점을 갖고 있다. 각자 작업하다 한 사람만 메인 브랜치에 자신의 변경사항을 적용하면 된다. 독립적으로 작업하다 결과를 하나씩 메인 브랜치에 적용해 완성해 나갈 수 있다.

2.1. Branch 만들기

명령어로 새로운 브랜치를 만든다.

git branch NAME_OF_BRANCH

2.2. Branch 바꾸기, checkout

다른 브랜치로 이동할 수 있다. 다은 브랜치로 이동할 시 해당 브랜치의 마지막 커밋 내용이 뜨며, 앞으로 내가 남기는 커밋은 모두 전환한 브랜치에 추가된다.

# 다른 브랜치로 이동
git checkout NAME_OF_BRANCH

# 새로운 브랜치 생성 후 해당 브랜치로 이동
git checkout -b NAME_OF_BRANCH

# 프로젝트의 모든 브랜치 확인
git branch

2.3. Branch 병합하기

브랜치 간의 작업 내용을 적용하고 싶을 때 둘을 병합시킬 수 있다. 특정 브랜치에서 완벽하게 구현된 코드를 마스터 브랜치와도 병합시킬 수 있다.

git merge NAME_OF_BRANCH

2.4. Branch 삭제하기

브랜치를 삭제할 수도 있다.

git branch -d NAME_OF_BRANCH

3) Commit, Push, Pull Request


3.1. Git Push

우리가 만든 변경사항을 여전히 local repo 안에 머물고 있다. 즉 이 변경 내용을 remote repo로 보내야 한다. origin을 꼭 붙여야 한다. local feature branch와 origin feature branch는 다르기 때문이다. local에서 만들었던 branch를 똑같이 origin feature branch로 만들어줘야 한다. 그 과정이 바로 push이다.

# remote repo와 연결하기
git remote add origin REMOTE_REPO_GITHUB_URL

# 마스터로 푸쉬
git push origin master

# 브랜치로 푸쉬
git push origin feature/NAME_OF_BRACH

3.2. Pull Request

터미널에서 출력해준 링크를 타고 pull request 페이지로 이동한다. PR 메세지를 작성하고, create pull request 버튼을 눌러 PR를 한다.

✅ 내 브랜치에서 작업하는지 수시로 확인할 것

Reference:
https://wordbe.tistory.com/entry/Git-%EC%82%AC%EC%9A%A9-%EB%B0%A9%EB%B2%95-%EC%A0%95%EB%A6%ACcommit-push-pull-request-merge-%EB%93%B1

profile
Software Developer / 고통은 필연, 괴로움은 선택

0개의 댓글