TIL - Git 기본 개념 A TO Z (2)

이병수·2020년 7월 2일
0

Git

목록 보기
2/3

Git

1. Git repository

  • Git repository란 말 그대로 파일이나 폴더를 저장해 두는 저장소이다.

  • Git repository에는 Remote과 Local 두 가지 종류가 있다.

Remote repository

  • 파일이 Remote repository 전용 서버에서 관리되며 여러 사람이 함께 공유하기 위한 저장소이다. 여러 사람과 같이 쓰는 공유 클라우드 느낌으로 생각하면 쉽다.

Local repository

  • 내 PC에 파일이 저장되는 개인 전용 저장소이다.
  • 평소에 자신의 Local에서 작업하다가 자신의 소스코드를 공개하고 싶을 때 Remote repository에 업로드 한다(Push)
  • 반대로 Remote repository에서 다른 사람의 코드를 내 local로 가져올 수 있다(Pull)

Local repository 만들기

Local repository를 만드는 방법은 두 가지가 있다.

1) 아예 새로운 저장소를 만드는 방법 (git init)
2) 이미 만들어져 있는 Remote repository를 local repository로 복사해오는 방법 (git clone)

Push와 pull 개념

  • Local repository에서 변경된 사항을 Remote repository에 공유하는 것 즉, 업로드하는 것을 Push라고 표현한다

  • 반대로 누군가가 Remote repository에 올려놓은 변경내용을 내 Local repository로 가지고 오고 싶을 때, 내 Local에 적용하는 것을 Pull이라고 표현한다.


push

$ git push origin master (or feature/ branch 명)

pull

$ git pull origin master

ref)

git log로 변경이력 확인

branch 개념

1. branch란?

  • branch란 독립적으로 작업을 진행하기 위한 개념이다. 각각의 branch는 다른 branch의 영향을 받지 않기 때문에, 여러 작업을 동시에 진행할 수 있다.

  • 그리고 이렇게 만들어진 branch는 다른 branch들과 Merge함으로써, 다시 새로운 하나의 branch로 모을 수 있다

2. master branch

  • 저장소를 처음 만들면 git은 'master'라는 이름의 branch를 만들어 준다.
  • 이때, 따로 branch를 만들어 사용하지 않는 이상 master branch를 사용하게 된다.

3. Topic Branch와 Integration Branch

3.1 Topic Branch

  • 기능 추가나 버그 수정과 같은 단위 작업을 위한 branch이다.
  • 여러 개의 작업을 동시에 진행 할 때, 작업의 수만큼 Topic Branch를 생성해 작업을 진행한다

3.2 Integration Branch

  • 언제든지 배포할 수 있는 버전의 branch입니다.
  • 이름처럼 각 Topic branch들을 intergrate(통합)시킨 branch를 뜻하며
  • 언제든지 배포할 수 있는 버전인 만큼 안정성이 가장 중요합니다.

Git 세션(by 준식님)


1) git branch feature/soo
→ soo라는 branch 생성 (보통 branch는 login 등 특정 부분으로 쪼개서 생성)

2) git checkout feature/soo
→ 아직 local master에 있는 나의 상태를 생성한 branch로 이동

tip
$ git checkout -b
checkout 명령어에 -b옵션을 주면 branch 생성과 전환을 한번에 할 수 있다.

ref
$ git checkout -d
위 명령으로 가지를 삭제할 수 있다.

3) git status
→ 현재 git 상태 확인 nothing added to commit but untracked files present

4) git add .
→ 스테이징 단계로 add

5) git status
→ Changes to be committed:

6) git commit -m "add :초기세팅완료"

7) git status
→ nothing to commit, working tree clean

8) git push origin feature/soo
→ soo라는 브랜드 push

9) PR
→ pull request가서 create pull request

10) merge
→ Remote Master가 PR에대한 승인 시

11) git pull origin master
→ Remote Master가 나의 PR승인 시 Master도 변경
→ Local Master도 변경 필요(pull)

<참고자료>

0개의 댓글