프로젝트에서 issue(이슈)는 프로젝트에서 해결해야하는 문제이다!
버그를 신고하고, 기능추가나 프로젝트의 개선을 제안하는 것! 이슈!!
각자 작업을 할 수 있는 공간을 만들기 위해 branch를 사용한다!
그동안 commit을 main이라는 브랜치에 해주었는데, 협업시에는 작업목적에 맞게 브랜치에 이름을 붙여준다!! 그리고 나중에 합치면된다!
1단계 이슈,, 2단계 브랜치,, 3단계,, 머지!!!
작업한 내용을 리뷰하고 최종적으로 프로젝트에 반영하는것(BUT!!!! PR후에 merge하는 것!)
Merge(병합) 는 브랜치를 다른 브랜치에 합치는 것이다.!!
+팀원과 깃 레프로젝트? 경험:
1.팀레포를 하나 만들었다.
2.master 에서 pull 진행
3.본인의 이름 이니셜로 브렌치 생성
4.작업 진행 후 커밋
5.push 전에 master 에서 pull
6.본인 브렌치에 push (master 은 X)
7.PR 생성( master ← 본인 브렌치)
8.작업 내용 작성 및 Reviewers 에 다른 팀원 추가
9.슬랙에 PR 에 대한 메세지 남겨두기
10.Approve / comment 확인하여 merge & delete branch 진행
이런식으로 진행해보았습니다!!!
pull : 격 저장소의 정보를 가져오면서 자동으로 로컬 브랜치에 병합(Merge)까지 수행해주는 명령어이다.
fetch : 원격 저장소의 커밋들을 로컬 저장소로 가져온다. 그리고 자동으로 병합(Merge)를 해주지 않기 때문에 본인이 직접 확인을 한 후에 병합(Merge)하는 과정을 거쳐야한다.
fork: 다른 사람의 Github repository에서 내가 어떤 부분을 수정하거나 추가 기능을 넣고 싶을 때 해당 respository를 내 Github repository로 그대로 복제하는 기능이다.
fork한 저장소는 원본(다른 사람의 github repository)와 연결되어 있다. 여기서 연결 되어 있다는 의미는 original repository에 어떤 변화가 생기면(새로운 commit) 이는 그대로 forked된 repository로 반영할 수 있다. 이 때 fetch나 rebase의 과정이 필요하다.
clone: clone은 특정 repository를 내 local machine에 복사하여 새로운 저장소를 만든다. clone한 원본 repository를 remote 저장소 origin으로 가지고 있다. 권한이 없는 경우 해당 저장소로 push 하지 못한다.
또한 기존의 제일 처음 original repository와 연결되지 못한다.
즉 저장소의 commit, 등의 로그를 보지 못함
**__결론
fork : 남의 원격 저장소를 내 "원격 저장소"로 가져오는것
clone : 어떤 원격 저장소를 내 "지역 저장소"로 가져오는것
fork는 남의 원격 저장소(Github Repository)에 불만이 있어서 고쳐보고 싶을 때 사용한다
해당 원격 저장소를 내 깃헙으로 그대로 복제해서 이것저것 고쳐볼 수 있다
그 후 내가 고친게 원본보다 낫다! 싶으면 PR(Pull Request)을 origin에게 보내고, origin의 관리자 또한 그것이 맘에 들면 해당 PR을 받아들여 그 변경사항들이 commit, merge된다
clone은 어떤 원격 저장소를 내 로컬 저장소에 복사하는것이다
fetch와 push로 변경 이력을 업로드 할 수 있다(물론 권한이 있는 경우)
내가 clone 하기 전의 commit 이력 등의 로그는 보지 못한다
__**
모르는게 너무 많았다!(벽이 세워진 느낌) 기초강의도 다시 수강하면서 복습을 하고있고, 새로운 정보들도 구글링하면서 공부해야겠다. 모르는게 많아서 팀원들에게 너무 미얀한 마음인데, 민폐가 되지않도록 더 열심히 공부해야겠다!