Mac으로 바꾸고 나서 source tree를 이용했었는데,
source tree에서 자꾸 오류가 나서 GitHub Desktop으로 갈아 탔다,,
이쁜 branch 모양 보는 맛에 source tree 썼었는데,,,

Git의 핵심 : Remote(github) 레포지토리와 Local(내 pc) 레포지토리의 연동

1. Clone Repository : 이미 본인의 깃허브 계정에 새로운 Repository를 생성한 경우
- 본인의 github 계정으로 로그인을 이미 한 상태이기 때문에 내 github 계정에 포함된 모든 레포지토리들이 자동으로 뜬다!
- local path 라고 적힌 부분을 수정해 로컬 레포지토리의 위치를 지정할 수 있다 (빈 폴더에만 생성 가능하니까 새로운 폴더 생성하기)
2. Create a New Repository : 깃허브 계정에도, 내 pc에도 아직 아무것도 레포지토리를 만들지 않은 경우
- 내 github 계정에 자동으로 Repository를 생성하면서, 로컬 레포까지 연결을 해준다
3. Add Local Repository : 내 pc에 있는 로컬 레포를 관리하고 싶은 경우
- 내 pc의 local path를 입력해 레포와 연결한다.
Fetch Origin : 원격 레포와 로컬 레포를 비교해, 변경사항이 있는지 찾아냄
Changes : 로컬 레포에서의 파일에 변화가 생기면 자동으로 감지해 어느 부분이 변화되었는지 알려줌
History : 다른 팀원이 함께 프로젝트하는 경우, 모든 활동의 내역을 확인할 수 있음
New Branch : 새 브랜치를 생성한 경우 로컬 레포에서만 생성되었기 때문에 Fetch Origin 부분에 원격 레포에 내 브랜치를 생성하는 버튼이 생성됨
* Github 창에서 브랜치를 삭제한 경우 (원격 레포 브랜치 삭제) -> current branch 창에 들어가서 내 로컬 브랜치는 오른쪽 마우스 버튼을 이용해 직접 삭제해야 함.
- 여러 팀원들과 함께 프로젝트를 진행하는 경우
- 내가 작업할 new branch 생성
- 해당 branch에 변경사항 commit (commit message 깔끔하게!)
- push -> Open pull request 버튼을 누르면 깃허브 페이지로 연결하면서 pull request 생성 ( main에 merge하기 전에 서로 comment 가능)
- 열린 pull request를 merge 한 후에 깃허브 페이지에서 브랜치를 삭제함 (원격브랜치 삭제)
- 원격 브랜치가 삭제됐으므로 GitHub Destop에 와서 직접 로컬 브랜치 삭제
- 위의 과정을 터미널을 통해 진행하면
$ git branch new_branch # 1. new_branch 라는 새 브랜치 생성 (로컬에)
$ git checkout new_branch # 2. 위에서 만든 브랜치로 이동
$ git add . # 3. github desktop에서 changed file을 인식하는 것과 같음 (온점 꼭!)
$ git commit -m "commit message" # 4. commit
$ git push origin new_branch # 5. 만들어둔 브랜치로 push (원격에 해당 브랜치가 없으면 자동 생성됨)
# 후에 깃허브 홈페이지에서 pull request 생성가능
$ git checkout master. # 6. 메인 브랜치로 이동해서 원격에서 merge후 삭제된 브랜치 삭제
$ git branch -d new_branch. # 7. 로컬 브랜치 삭제