깃 협업을 해보자
이제 깃허브에 소스파일을 올린적은 있지만 협업에 사용해본적은 없다. 취업기념 깃 공부 뿌웽웽
(레파지토리 주인)
우선적으로 알아야할 개념.
깃 허브 레파지토리는 공유할 프로젝트를 올려두는 공간(프로젝트 하나당 레파지토리 하나)
깃은 내 소스코드를 이 레파지토리에 올려주는 바쁜 친구
그래서 소스코드 올린다고 할 때, 깃허브에 가입하고 레파지토리를 만들어주고, 깃도 설치해준다.
과정을 보기전에 전체적인 흐름을 보고 시작하자.
내 PC의 workspace 내의 프로젝트가 바로 레파지토리에 연결되는 것이 아니라
깃 저장소라는 공간을 만들고 이 깃 저장소가 레파지토리와 연결되는 것이다.
그래서,
1) 깃 저장소를 만들고(git init)
2) workspace -> 깃 저장소 이렇게 올라간다. (commit)
이때 중간에 장바구니에 add로 중간중간 공유 파일을 담아주고 깃 저장소에 올림
3) 깃 저장소 -> 레파지토리 (push)
시작은 달콤하게 깃허브 페이지에서
- 레파지토리 생성
- Settings / Mange access / Invite a collaborator 에서 조원 초대
- 깃설치 git-scm.com
- Git bash 오픈 / cd 프로젝트 폴더
Git bash
- 사용자 등록
git config –global user.name “nageom”
git config –global user.email “nageom1123@naver.com” //깃허브 아이디
내 컴퓨터에 깃 저장소 만들기
Git Bash (위치 : 프로젝트 폴더 내)
- git init 명령어
그러면 폴더 내에 .git이 생성됨을 확인할 수 있다. (깃 저장소)
공유할 파일 외의 파일 제외 (.gitignore 파일 생성)
-
git status 명령어
(git로 공유한 파일과 공유할 장바구니 내부를 볼 수 있다. ) -
code . 명령어 (visual code가 열림)
- vs에서 .gitignore 파일 생성 (깃에게 제외할 파일을 알려줌)
- .gitignore 파일에 제외할 파일 이름 적음
bin
.classpath
.project
.settings
이런식 - git status로 파일 이름 하나 적을때마다 공유하는 파일 이름 확인 (빨간글씨)
파일 -> 장바구니 (git add)
- git add .gitignore
- git add . (전부 공유한다. )
장바구니 -> 깃 저장소 (git commit -m)
- git commit -m “first commit”
깃 저장소 + 레파지토리 연동(git remote add)
-
git remote add origin https://githumb.com/내아이디/레파지토리이름.git (레파지토리 주소)
(이때, origin은 변수명이다. 뒤의 주소를 origin 으로 기억해라 라는뜻) - 확인
git remote -v
이때, (fetch), (push) 두개 뜸 - 그럼 연결은 끝
깃 저장소 -> 레파지토리
-
git push origin master
origin변수 주소 안에 넣어라 -
로그인 했는데도 안될때
git config –system –unset-all credential.helper
(로그인 정보 없애기)
===============================================
연결 끝한 이후
- git add .
- git commit -m “commit”
- git push origin master
이제 다른 사람 레파지토리에서 내려받아 사용하는 경우
레파지토리 소스코드 내려받기
1) 내 workspace에 폴더 하나 생성 (프로젝트가 될 폴더)
2) 내 pc에 저장소 만듦(git init)
( 공유는 저장소만 가능하다. 받을 소스코드는 우선 깃 저장소에 들어가게 해야한다.)
- git init
3) 내 저장소와 공유할 레파지토리 연결 (git remote)
- git remote add origin https://github.com/조장아이디/레파지토리이름.git
가져오기(git pull)
- git pull origin master
————–위의 두 과정 또는 cmd에서 git clone https://github.com/조장아이디/레파지토리이름.git 프로젝트가될폴더이름
ex ) git clone https://github.com/nageom/salemarket.git salemarket
GitBash 위치는 salemarket 위
이클립스 업뎃
File/import
General / Projects from Folder or Archive
- next
- import 할 경로를 바꿔줌
라이브러리 Build Path는 내가 해줘야함. / 라이브러리들 우클릭 Build Path
=====================================================
연결 이 후,
변경사항을 받아올때도
- git pull origin master
내 변경사항 올릴때도
git push origin master
(안될때는 pull 먼저 해줌(최신 버전으로 업뎃 하고 내꺼 올리는식) )
=======================================================
회사에서 회사 master말고 내 브랜치를 만들어 push 할 경우
git checkout -b freshman
내 브랜치 만듦 (GitBash 위치: 프로젝트 내에서 명령)
(freshman은 브랜치 이름)
- 이제 push 될 브랜치가 master에서 freshman으로 바뀜
git push origin freshman
- 올림
이제 내 코드 봐달라고 request
- 회사 레파지토리에 접속해보면 내가 push한 내역을 Compare & pull request 하게 되어있음
- 클릭
- 멘트 블라블라 -> Create pull request
Pull requests가 생김
- 이건 회사에서 확인하고 Merge ㅎㅎ