인생은 오차 범위 줄이기

처음은 누구나 광범위하다

Study, Learn

git

Divide 2023. 9. 1. 21:48

Git (git-scm.com)

 

Git

 

git-scm.com

git의 명령어는 종류가 매우 많다.

하지만 그중 자주 쓰는 명령어는 그렇게 많지 않다.

 


 

git add

수정 / 추가 / 삭제한 파일들의 목록을 스냅샷을 찍어 스테이지(Staging Area)에 올린다.

git add . 을 하면 현재 경로 하위 폴더 안의 모든 파일이 추가된다.

이것을 하나하나씩 올리기 위해서는 git add./연습폴더1/scene/main_연습.js 이런식으로 올리면 된다.

 


 

 

git commit

스테이지에 올려진 기록을 git 폴더(.Git 디렉터리)에 알려준다.


 

git push origin master

origin은 git으로 호스팅하는 일종의 공유 사본이며 origin의 master 브랜치에 push하는 것을 의미한다.

origin이나 master라는 브랜치(branch)이름은 project마다 다를 수 있다.


 

git checkout -b feature/#1275

혼자 작업할 때는 master라는 브랜치 하나만을 사용해서 하기도 한다.

하지만 여러 사람들과 함께 project를 진행 할 때는 이런 방식의 작업이 어렵고 각 작업마다 브랜치를 만들어야 한다.

 

featuer/#1275의 의미 

이 명령어는 featuer/#1275 라는 브랜치를 만들고 그 브랜치로 이동한다는 뜻이다.

 

git checkout -b develop

비슷한 예시로 'develop 브랜치를 만들고 그 브랜치로 이동한다'는 명령어는 위와 같이 작성할 수 있다.


 

git checkout master

master 브랜치로 이동한다는 명령어이다.

작업할 브랜치를 -D 옵션으로 만든 후 해당 작업이 끝나고 나서 이후 작업 브랜치를 지우기 위해 다시 default 브랜치인 master 브랜치로 이동하기 위해서 사용된다.

 


 

git pull origin develop

origin의 develop 브랜치를 끌고 오는 것을 말한다.

다른 사람이 고친 수정본이 origin에 반영되었다면 해당 항목들을 가져와야 자신의 변경사항을 origin에 올릴 수 있다.

 

 

git pull의 의미

git pull
// git pull = git fetch + git merge

git pull 이란 git fetch 와 git merge를 합친 것이다.

fetch는 저장소의 내용을 가져오는 것을 의미한다.

merge는 레포지토리와 로컬의 변경이력을 합치는 것을 말한다.

합치는 명령어는 merge뿐만 아니라 revase도 있다.

 

merge와 rebase

위 그림처럼 merge는 브랜치를 통합하는 것이고 rebase는 브랜치의 중심을 옮긴다는 차이가 있다.

 

rebase로 브랜치를 합치는 팀도 있고 pull로 합치는 팀도 있다.

자기가 속한 팀에 따라 합치는 방법을 달리하면 된다. 

 


 

git status

git으로 관리하는 폴더의 상태를 알 수 있다.

커밋되지 않은 변경상태를 볼 수 있으며 주로 merge를 할 때 conflict(충돌)가 발생했을 경우 사용한다.


 

git branch -d 브랜치명

해당 브랜치를 지운다. 만약 해당 브랜치가 master 브랜치에 merged되지 않은 브랜치라면 삭제하지 않는다.

보통은 이슈(issue)에 해당하는 브랜치를 만들고 master에 merge를 한 이후에 지워야 하기 때문에 이 옵션을 사용한다.

 

강제로 지울 것이라면 -D 옵션을 써서 git branch -D [브랜치명] 로 작성하면 된다.

브랜치를 생성해서 작업한 후 해당 브랜치에서 더 이상 작업할 것이 아니라면 이러한 방법으로 브랜치를 삭제해야 한다.


 

git checkout --파일명

어떠한 파일을 수정했는데 이전 상태로 되돌려야할 때 쓰이는 명령어이다.

해당 파일을 이전 커밋 상태로 되돌린다. 


 

git log --pretty=oneline

git에 대한 log들을 볼 수 있다.

보통 --pretty=oneline으로 보는데, 한 줄로 변경사항을 볼 수 있다.


 

git diff

내가 수정한 부분이 무엇인지 알려주는 명령어이다.

'Study, Learn' 카테고리의 다른 글

java 컴파일과 실행단계  (0) 2023.11.30
leetcode 125 Valid Palindrome  (0) 2023.11.01
형 변환 (type conversion)  (0) 2023.07.06
Python 숫자형, 문자열 자료형  (0) 2023.04.04
Data type  (0) 2023.02.07