반응형

Git?

저장 이력, 변경 기록 등을 추적하는 시스템

로컬 컴퓨터에서 끝낸 작업을 원격 저장소로 보내 개발 완료 시 원격 저장소와 합치거나, 중간에 tag를 붙이고, 분기(branch) 등을 할 수 있다.

 

 

"이 포스팅에서는 gitlab 원격 저장소를 기준으로 작성하였습니다."

 

 

깃 설치하기

# mac에는 기본적으로 git이 설치 되어있으나, 새로운 버전으로 설치함 
brew install git 
# git version check
git --version

 

 

저장소 만들기 | Init

 

1. git config (처음에만 설정)

 

1) gitlab 원격 저장소에 유저이름 설정하기

git config --global user.name <user name>

 

2) git 원격 저장소에 이메일 설정하기

git config --global user.email <user email>

 

3) 추가한 유저이름, 이메일 확인하기

git config --global --list

 

 

2. 로컬 컴퓨터에 git 초기화하기

mkdir <git local dir>
cd <git local dir>
git init

 

 

3. gitlab 원격 저장소 연결하기

git remote add origin <gitlab 프로젝트 주소>

 

 

 

branch 만들기 | Merge

 

branch를 만드는 이유: main project에 영향을 줄 수 있는 불확실한 sub project를 진행할 때, branch에서 작업을 진행함.

* 참고: 모든 수정 이후에는 다시 commit해야 gitlab에 적용됨

 

 

1. branch 만들기

 

1) branch 만들기 & branch 이동하기 (한 번에)

git checkout -b <branch name>

 

2) branch 확인하기

git branch

 

3) branch 이동하기

git checkout <branch name>

 

 

2. branch 합치기

git checkout <branch name(master)>
git merge <branch name(issue1)>

그림 출처: backlog.com

 

*참고: 병합시 충돌 해결 (예시)

그림출처: backlog.com

git merge issue2

그림출처: backlog.com

git merge issue3

 

3. branch 삭제

1) local에서 삭제

git branch -d <branch name>

 

2) 원격 저장소에서도 삭제해야함

git push origin :<branch name>

 

 

 

저장하기 | Commit

 

1. gitlab 저장소에 있는 파일 가져오기

git clone <gitlab 주소>

 

2. 저장소 확인하기

git remote -v

 

3. 저장소 현재 상태 확인하기

git status

 

4. 저장할 파일 추가

git add <file 이름>

 

5. 저장한 파일 commit 하기

git commit -m "<변경사항>"

 

 

 

되돌리기 | reset, revert **주의!

 

1. reset 과 revert의 차이

 

1) revert: rollback한 commit 이력이 모두 기록되기 때문에 안전한 방법

2) reset: rollback한 시점 이후 단계의 commit 기록이 삭제됨 (공용 브랜치에서 사용하지 않는 것을 권장함)

그림출처: https://victorydntmd.tistory.com/79

 

2. 깃 상태 보기

git log --oneline

 

3. 깃 되돌리기

* 참고: revert 시점의 file 삭제됨

 

1) git commit & push 취소

git revert <(지우고 싶은) commit Id>

 

2) 멀티 log 취소하기

# Head는 현재 사용 중인 브랜치의 선두 부분
# Head~3의미: Head부터 순서대로 3번째 log까지
git revert Head~3..

 

3) git merge 취소

# 1. 병합 상태 확인
git log --oneline --graph

# 2. 병합 취소
# 방금 병합한 것 취소(마스터를 기준으로 함)
git revert -mainline 1 <(취소할 병합) commit Id>

 

 

 

협업하기 | Push, Pull

 

1. 로컬 컴퓨터에 git 저장소의 최신 버전을 다운로드 받기

(충돌이 없으면 자동으로 merge → commit)

git pull <gitlab 주소>

 

2. 리모트 저장소에 보내기

git push <gitlab 주소>

# 참고: 처음 설정한 저장소에 push
git push origin master

# 참고2: 깃 브런치에 push
git push origin <branch name>

 

 

코드 출처: 

 

1. Gitlab Docs

2. 누구나 쉽게 이해할 수 있는 Git 입문

반응형

+ Recent posts