$git config --global --unset credential.helper
$git config --system --unset credential.helper
$git config --global user.email "본인이메일주소"
$git config --global user.name "본인이름"
📢 이 부분은 추후 필요시 설정 , 아직 까지 이 설정은 생략한다.
원하는 편집기 설정가능 : vim, emacs, nano, notepad등
$git config --list
master : 제품으로 출시될 수 있는 브랜치
develop : 다음 출시 버전을 개발하는 브랜치
feature : 기능을 개발하는 브랜치
release : 이번 출시 버전을 준비하는 브랜치
hotfix : 출시 버전에서 발생한 버그를 수정 하는 브랜치
- feature : 각 기능별 구현하는 브랜치 ( 우리 팀의 경우 각기능을 분담하여 팀원들 각각 feature를 생성하여 진행했다.
예) 팀원1의 브랜치명 : feature/1-security
팀원1의 브랜치명 : feature/2-user
팀원1의 브랜치명 : feature/3-post
팀원1의 브랜치명 : feature/4-comment
팀원1의 브랜치명 : feature/5-like
main - develop- feature
1. 원격 저장소에서 내용을 로컬 저장소로 가져온다
2. 로컬 저장소에서 작업할 브랜치를 생성 후 해당 브랜치로 이동한다.
$git branch 브랜치이름
$git checkout 브랜치 이름
위의 명령어를 한번에 치고 싶으면 :git checkout -b 브랜츠명
3. 브랜치 안에서 원하는 작업을 수행한다.
4. 브랜치에서 수행한 작업을 git에 올린다.
(작업 중인 브랜치 안에서 명령어 실행)
$git add .
$git commit -m "변경내용"
원격 저장소에 해당 브랜치가 이미 존재 할때 : $git push origin
원격 저장소에 해당 브랜치가 없을 때 : $git push origin 브랜치이름
예) $git push origin feature/3-user
로컬repo(feature/3-user) -> 원격repo(feature/3-user) -> 원격repo(develop)로 PR -> 추후 merge
원격 저장소에 브랜치가 있으면 해당 브랜치 안에서 git push를 하면 바로 원격 저장소의 브랜치에 내용을 push 할 수 있다.
원격 저장소에 브랜치가 없다면 git push만 했을 때, upstream이 없다는 오류가 나게 된다.
원격 저장소에 브랜치 생성 후 브랜치 내용 push를 해줘야 한다.
5. github 홈페이지의 repository로 이동 후 pull request 요청을 하면 완료
6. 담당자가 확인 후 pull request를 수락하면 원격 저장소 develop에 브랜치의 내용이 업데이트 된다
- 원격repo를 최신으로 동기화 시킨다.
(작업 중인 브랜치 안에서 명령어 실행)
$git checkout develop (상황에 따라 생략가능, 처음받아올때만 하고 그 후 하지 않기도 함)
(master 브랜치 안에서 명령어 실행)
$git pull origin develop
- 브랜치를 생성해서 작업을 하는 동안 다른 협업자가 원격 저장소의 develop에 push를 진행해놓았을 수도 있다.
그러므로 로컬의 develop 브랜치로 이동 후 develop의 내용을 제일 최신으로 업데이트해준다.
$git checkout -b 브랜치이름
$git status
$git add * (-> 전체 파일 추가) git
$git add [파일명] (-> 파일 개별로 하나씩 추가)
전체 추가일지 파일 개개별 추가는 자기 마음대로
$git commit -m "변경사항 "
$git push origin 브랜치명
github 홈페이지의 repository로 이동 후 pull request 요청을 하면 완료
담당자가 확인 후 pull request를 수락하면 원격 저장소 develop 가 업데이트 된다.
확인 완료 후 merge되면 다시 develop 브랜치로 간다.
다시 1번부터 9까지 반복하면 된다.
origin의 의미
origin이나 upstream은 remote repository에 붙이는 이름표같은거라고 생각하시면되요. 그런데 대부분의 튜토리얼들이 fork뜬 저장소는 origin으로, 원본 저장소는 upstream이라고 식별한걸 가정하고 진행되기때문에 미리 알아두시는게 좋구요
출처
fork이용한 협업
https://developer-eun-diary.tistory.com/m/42
참고
이슈발행하여하는 git 협업
Team Leader의 프로젝트 및 레포지토리 발행,팀원들 공유
당신이 (아마도) 몰랐던 20가지 Git 명령 🧙