팀 개발을 위한 Git, GitHub 입문
카테고리: Development
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가지 개념 리뷰
- 위의 페이지에서 협업을 원하는 인원을 추가할 수 있다
- 협업 요청을 받은 인원은 자신이 등록한 메일에 들어가서 해당 요청을 승낙하면 저장소 접근 권한을 얻게된다
Chapter 02 Git&GitHub 다지기 feat.GUI
02-1 소스트리 GUI로 Git 다지기
- add 버튼을 눌러 로컬 저장소를 추가할 수 있다
02-2 그림으로 배우는 Git의 원리
- 커밋이란 변경 사항의 모음(X) 하나의 최종 코드모음(O)
- add 명령어를 사용하면 수정된 내용들이 스테이지에 올라간다
02-3 GUI로 add, commit, push, pull 하기
02-4 브랜치(branch) : 평행세계 나누기
- HEAD: 내가 지금 작업하는 로컬 브랜치를 가리킴
- git branch cat 명령어는 cat 브랜치를 현재 시점에 만들어라라는 명령어
- git checkout cat 명령어는 cat 브랜치로 이동해라라는 명령어
- 브랜치는 보통 새로운 기능을 추가할 때 만든다
- 위의 첫번째 이미지는 branch를 만드는 방법, 두번째 이미지는 branch를 push 하는 방법, 세번째 이미지는 커밋과 동시에 push 하는 방법, 네번째 이미지는 원격 저장소와 동기화를 하는 방법이다
02-5 머지(merge) : 두 버전 합치기
- git merge oct는 compare 브랜치인 oct를 나와 합치고 싶다라는 명령어
- 둘이 합친 결과물은 문어 따라서 oct랑 master 브랜치 모두 문어를 가리킨다
- 위의 이미지는 마스터 브랜치로 HEAD를 이동한후 마스터 브랜치를 원하는 브랜치와 병합하여 원격 저장소로 push 하는 과정이다
02-6 컨플릭트(conflict) : 합치다가 충돌이 났어요 - 이론
- 머지할 때 두 버전이 같은 곳을 수정했다면 이를 수동으로 고쳐줘야 한다
02-7 컨플릭트(conflict) : 합치다가 충돌이 났어요 - 실습
- 위의 메세지는 충돌이 발생했을때 나온다
- 컨플릭트를 해결한다는 것은 내가 원하는 코드만 남기는것
- 컨플릭트를 해결하고 난뒤 커밋을 재시도 할때 보이는 위의 메시지는 feat/love 브랜치를 커밋하려는데 README.md 파일에서 컨플릭트가 발생했다는 의미이다
댓글남기기