팀 개발을 위한 Git, GitHub 입문

Date:     Updated:

카테고리:

Chapter 00 Git과 버전 관리

00-1 강의 소개

  • 이 강의에서 실무에서 사용하는 98% 명령어를 배우고 실습할 예정이다

00-2 버전 관리가 뭔가요?

  • Git을 사용하려면 저장할 공간만 있다면 어디서나 사용 가능하다 ( 개인 컴퓨터, USB, 회사 서버, 클라우드 )

00-3 Git, Github 환경 설정하기

  • CLI에서 git 입력시 git에 대한 안내가 나오면 제대로 설치된것
  • GitHub의 비공개 저장소는 3인 이하인 경우에 무료로 제공된다
  • Git CLI는 Git 여기에서 다운받자


Chapter 01 Git&GitHub 시작하기 feat.CLI

01-1 Git 초기화와 로컬 저장소

  • Git 초기화를 하면 .git이라는 숨겨진 폴더가 만들어진다 이게 로컬 저장소 ( git init )
  • 한 폴더에 하나의 로컬 저장소만 유지해야 한다
  • 윈도우 사용자는 git bash를 이용해 수업을 듣자
  • ls -al 명령어를 이용하여 .git이 잘 생성 되었나 확인할 수 있다

01-2 첫 번째 버전 만들기

  • git config –global user.name “username” 명령어와 git config –global user.email useremail 을 이용해 전역 사용자 설정을 하자
  • 위의 명령어를 통해 등록된 정보는 커밋 정보에 표시된다
  • add 명령어를 이용하여 원하는 파일을 선택하고 commit -m 명령어를 이용해 메세지를 달아 커밋으로 만들자 git log 명령어를 이용하면 생성한 커밋을 볼 수 있다

01-3 만든 버전 GitHub에 올리기

  • git remote add origin https://github.com/아이디/이름.git 이 명령어는 현재 bash가 가리키는 폴더에 GitHub 저장소 주소를 알려준다
  • git push origin master 이 명령어는 만든 커밋을 푸시한다

01-4 다른 사람이 만든 저장소 받아오기

  • git clone https://github.com/아이디/이름.git . 이 명령어는 저장소의 내용을 bash가 가리키는 폴더로 받아온다 . 을 안 찍으면 새 폴더가 생성되니 주의하자 또한 .git과 . 사이에 공백문자를 꼭 넣어줘야 한다
  • git pull origin master 이 명령어는 저장소의 내용을 bash가 가리키는 폴더로 업데이트 한다

01-5 가장 간단한 협업 시나리오 - 7가지 개념 리뷰

access

  • 위의 페이지에서 협업을 원하는 인원을 추가할 수 있다
  • 협업 요청을 받은 인원은 자신이 등록한 메일에 들어가서 해당 요청을 승낙하면 저장소 접근 권한을 얻게된다


Chapter 02 Git&GitHub 다지기 feat.GUI

02-1 소스트리 GUI로 Git 다지기

add

  • add 버튼을 눌러 로컬 저장소를 추가할 수 있다

02-2 그림으로 배우는 Git의 원리

  • 커밋이란 변경 사항의 모음(X) 하나의 최종 코드모음(O)
  • add 명령어를 사용하면 수정된 내용들이 스테이지에 올라간다

02-3 GUI로 add, commit, push, pull 하기

state

state2

02-4 브랜치(branch) : 평행세계 나누기

  • HEAD: 내가 지금 작업하는 로컬 브랜치를 가리킴
  • git branch cat 명령어는 cat 브랜치를 현재 시점에 만들어라라는 명령어
  • git checkout cat 명령어는 cat 브랜치로 이동해라라는 명령어
  • 브랜치는 보통 새로운 기능을 추가할 때 만든다

branch

brpush

imdpush

patch

  • 위의 첫번째 이미지는 branch를 만드는 방법, 두번째 이미지는 branch를 push 하는 방법, 세번째 이미지는 커밋과 동시에 push 하는 방법, 네번째 이미지는 원격 저장소와 동기화를 하는 방법이다

02-5 머지(merge) : 두 버전 합치기

  • git merge oct는 compare 브랜치인 oct를 나와 합치고 싶다라는 명령어
  • 둘이 합친 결과물은 문어 따라서 oct랑 master 브랜치 모두 문어를 가리킨다

tomaster

merge

pushmaster

  • 위의 이미지는 마스터 브랜치로 HEAD를 이동한후 마스터 브랜치를 원하는 브랜치와 병합하여 원격 저장소로 push 하는 과정이다

02-6 컨플릭트(conflict) : 합치다가 충돌이 났어요 - 이론

  • 머지할 때 두 버전이 같은 곳을 수정했다면 이를 수동으로 고쳐줘야 한다

02-7 컨플릭트(conflict) : 합치다가 충돌이 났어요 - 실습

conf

  • 위의 메세지는 충돌이 발생했을때 나온다
  • 컨플릭트를 해결한다는 것은 내가 원하는 코드만 남기는것

fix

  • 컨플릭트를 해결하고 난뒤 커밋을 재시도 할때 보이는 위의 메시지는 feat/love 브랜치를 커밋하려는데 README.md 파일에서 컨플릭트가 발생했다는 의미이다


인프런 진유림님 강의 영상


맨 위로 이동하기

댓글남기기