Git vs GitHub
GitHub: Where the world builds software
+ 버튼을 누른 뒤 나타나는 메뉴에서 New repository를 선택
Create repository 버튼을 통해 새로운 repository를 생성
생성된 repository의 스타팅 페이지에서 ...or push an existing repository from the command line에 따라, 기존 로컬환경에 생성된 Git repository에 연결
git remote add origin 명령어는 origin이라는 이름의 URL을 통해 컴퓨터의 로컬 repository와 GitHub repository를 연결git remote add origin https://github.com/<your-username>/<your-repo-name>.git
이름이 꼭 origin일 필요는 없지만, remote 주소가 한 개라면 보통 origin으로 지정함
git push -u origin master
위 과정이 성공적으로 수행되었다면, GitHub의 repository 페이지를 새로고침하면, 로컬에서 push한 코드가 업로드 된 것을 확인할 수 있음
로컬 repo를 미리 생성 후 연결하지 않고, GitHub repo를 먼저 생성하여 clone을 받아 로컬환경에 다운로드

git clone <github-repo-link>
위 명령어를 수행하면, 해당 경로에 Clone받은 GitHub Repository의 이름을 그대로 딴 폴더가 생성되며,
해당 폴더 내에 clone 시점의 remote repository에 존재했던 모든 폴더 및 파일들이 복제됨
위 방법으로 다른 개발자들의 Public Repository를 클론받아 작업할 수 있다.
로컬 Git Repo를 GitHub remote repository와 연결 후, 작업한 내용에 대해 다시 push를 해줘야 업데이트됨
git add .
git commit -m "This is first commit"
git push origin master
master 브랜치는 항상 잘 작동하고 안정적인 버전의 코드를 포함해야 함master 브랜치에 영향없이 동일한 작업환경에서 기능을 추가하거나 테스트를 진행할 수 있음master 브랜치와 merge함git checkout -b <feature/greetings>
git add .
git commit -m "Second Commit"
push를 통해 remote에 올림git push origin feature/greetings
커스텀 브랜치를 push 후, master 브랜치에 적용될 준비가 된다면 Pull Request(PR)을 통해 프로젝트 오너에게 브랜치에서의 작업 내용을 master 브랜치에 반영해달라는 요청을 보낼 수 있음
Pull Request에서는 해당 repository 열람 권한이 있는 개발자들이 작업 내용에 대한 리뷰를 하거나 변경 사항을 확인할 수 있음
Create pull request를 누름master와 충돌이 발생하지 않는다면 merge 될 준비가 완료다양한 원인에 의해 Pull Request 들이 master 브랜치와 충돌이 발생할 수 있음
(대표적 상황) master 브랜치와 파일 겹쳐서, 어떤 버전의 코드를 선택해야할 지 모를 때
위 상황에서는 개발자가 코드를 비교해 충돌을 피하고 merge를 마무리
Pull Request를 통해 master 브랜치를 업데이트한다면, 각 개발자 컴퓨터의 로컬 repository와 다른 내용을 가지므로, 최신화된 코드를 반영해야함
git pull 명령어를 통해 remote의 최신화된 코드를 내 로컬 repo에 반영git pull origin master
기존 origin이라는 이름으로 GitHub remote repo 링크에 이름을 붙여졌으므로, 그대로 활용함