git을 이용한 버전관리 flow
소스코드 clone --> 수정 --> staging --> commit
git 명령어 정리
git init
git repository를 만들기 위해 사용하는 명령어
git add
수정 사항을 staged 상태로 옮길 때 사용하는 명령어
git commit
staging된 파일을 commit 할 때 사용하는 명령어
git diff
수정사항이 적용됐는지 보여주는 명령어
staged된 수정사항은 볼 수 없음
modified된 파일들만 확인 가능
git status
파일의 현재 상태가 뭔지 알려주는 명령어
ex) modified file인지 staged file인지 알려줌
git log
commit 내역(commit history) 들을 보여주는 명령어
출력 포맷이 보기 어렵기 때문에 tig와 같은 tool 설치한 후 이용하면 편리함
git rm
원하는 파일을 git repository에서 삭제하는 명령어
git mv
git에 있는 파일 git repository 상에서 이동시킬 때 사용
주로 rename할 때 사용함
git branch
branch 생성할 때 사용하는 명령어
(branch에 대한 설명은 아래에서)
git checkout
어떤 branch를 checkout할 때 사용되는 명령어
checkout이란 사용할 브랜치를 지정하는 것을 의미함
Master & Branch
Master & Branch
Master는 기준이 되는 소스코드를 의미함
변경사항이 있을 때 기준이 되는 소스 코드를 변경하면 문제가 생길 수 있음
따라서 Master의 소스코드를 복사해서 복사본을 수정하는 것이 안전함
이렇게 사용하면 기존에 있는 소스에 영향 받지 않고 안전하게 관리 할 수 있음
이렇게 원본 코드를 복사하여 만든 독립적인 개발환경을 branch라고 함
Branch를 사용하면 Master의 소스 코드 또는 다른 Branch들과는 상관없이 독립적으로 개발을 진행할 수 있음
여러명이 같은 Master 소스코드를 변경할 때 유용한 기능
아래의 그림이 Master와 Branch를 나타내는 그림

- 파란색 부분 Master (Master branch라고 함)
- 초록색과 분홍색으로 표시된 부분 Branch (보통 feature branch라고 함)
수정할 내용이 생기면 Branch를 생성함
branch에서 작업한 후 작업이 끝나면 원본 소스 코드인 Master와 합치게 됨(Merge)
Merge
- merge는 기존의 코드와 수정한 코드를 합치는 과정 (master branch에 feature branch를 병합)
- 병합과정에 따라 충돌이 발생할 수 있음 (ex. 서로 다른 작업자가 같은 내용을 수정하였을 때 등 )
- 충돌은 error가 아님
- 충돌된 코드를 수정해주면 merge가 잘 진행됨
git branch 실습
1. git clone
터미널에 아래의 내용 입력
주소는 master branch의 github의 주소
git clone 주소
2. clone한 Master Branch로 이동
cd 명령어를 이용하여 master branch로 이동
cd original_master이름
3. Feature Branch 생성
git branch 명령어를 이용해 feature branch 생성
"feature/"라는 이름 붙이는것이 권장됨
아래의 예시와 같이 입력
git branch feature/jina
생성할 branch 이름을 적지 않고 아래와 같이 입력하면 branch 목록 볼 수 있음
git branch
4. Branch로 이동
git checkout 명령어를 이용하여 feature branch로 이동하기
터미널에 아래의 예시와 같이 입력
git checkout feature/jina
5. 파일 생성
파일을 생성하는 명령어인 touch를 이용하여 feature branch에 파일을 만들어보면 아래와 같음
touch jina.txt
위에서는 jina.txt라는 파일을 feature branch에 만든 것
6. 텍스트 수정
vim을 이용하여 jina.txt를 수정할 수 있음
vim jina.txt
vim 명령어
i
- txt 삽입
- txt 삽입을 끝내고 싶으면 ESC 키 눌러주기
:q
- vim 나가기
:wq
- 변경사항 저장하고 vim 나가기
:q!
- 변경사항이 있어도 저장안하고 그냥 vim 나가기
7. 깃 상태를 확인하기
git status 명령어를 이용하여 현재 branch에 있는 파일의 상태를 알 수 있음
8. staged file 만들기
git add 명령어를 사용하여 수정한 내용을 staged file로 만들 수 있음
git add .
위의 예시와 같이 add . 을 이용함
. 은 수정사항 전부를 staged file로 만든다는 것을 의미
git status 명령어로 파일이 staging 되었는지 확인하기
9. 파일 commit 하기
git commit 명령어를 이용하여 파일을 commit할 수 있음
아래와 같이 사용함
git commit -m "내용"
위의 내용에는 변경사항을 적어둠
commit을 완료하면 git status로 작업이 잘 진행되었는지 확인
10. Push 하기
git push 명령어를 사용하여 feature 브랜치 내용을 github에 푸쉬하기
git push origin 브랜치명
위와 같이 사용함
여기서의 브랜치 명은 feature/jina 였기 때문에 아래의 예시처럼 입력하면 github에 푸쉬됨
git push origin feature/jina
11. 이후
11-1. merge
github에 push한 이후 feature branch와 master branch를 병합시키기
merge 되고 목적이 달성한 브랜치는 버리기
즉, 새로운 수정사항 생길 때 마다 새로운 브랜치 만들어서 작업하기
11-2. git pull
merge/수정된 사항을 받으려면
아래의 명령어를 이용하여 master branch로 이동하기
git checkout master
그 이후 git pull 명령어로 수정된 사항 다운받기
git pull
'Wecode_Session > Git' 카테고리의 다른 글
Git과 Github (0) | 2020.03.22 |
---|
댓글