아직 우리의 repository는 publish를 안해주었기 때문에 local에만 존재한다. 한번 publish 해보자!!!
위의 Publish repository버튼을 누르면 로그인하는 창이 나오는데 Github 아이디와 비밀번호를 입력해준다.
그 후 GitHub.com 에서 Keep this code private 칸의 체크표시를 해제해준 뒤 Publish repository를 클릭해준다. 이제 우리는 Github에 모든 작업을 업로드했다!!
Github에 가보면 다음과 같이 우리가 진행한 commit 사항들이 모두 업로드 되어있는걸 확인할 수 있다. 모든 git history가 이제 Github에 올라가 있는 것이다.
이제 Github의 여러가지 기능에 대해서 알아보자.
Github에 가면 다음과 같이 fork라는 버튼을 찾아볼 수 있다.
이 버튼을 통해 우리는 다른 repository에 담긴 project를 복사하여 우리의 repository에 가져올 수 있다. 다른 project를 가져와 이를 수정하며 우리의 개인 project로 만들어갈 수 있는 것이다!!
https://github.com/nomadcoders/git-practice
GitHub - nomadcoders/git-practice: Practicing Git & Github for collaboration.
Practicing Git & Github for collaboration. Contribute to nomadcoders/git-practice development by creating an account on GitHub.
github.com
다음 주소로 가서 fork 버튼을 눌러보자.
그럼 다음과 같은 창이 뜨는데, Create fork를 클릭해주면
다음과 같이 우리의 repository에 복사된 것을 확인할 수 있다.
이제 fork한 내용을 우리들 각자의 컴퓨터에 가져오는 방법을 알아보자.
먼저 Github Desktop 에서 File로 들어간 후 Clone repository를 클릭하면(그 후 나오는 선택사항에서 우리가 fork 한 repository의 원본이 아닌 우리 개인적으로 수정을 하는 칸을 클릭해준다.)
다음과 같은 창이 뜬다.
우리가 fork 한 repository를 선택한 후 Clone를 클릭해준다. 이제 우리 컴퓨터에는 우리가 fork해준 폴더와 파일이 저장되어있다. 폴더로 가서 파일을 Visual Studio Code로 한번 열어보자.
다음과 같이 README.md 파일이 뜰 것이다. 한번 우리의 Github 닉네임을 추가하고 commit 해보자.
commit 후 Push origin 버튼을 눌러주면 우리의 Github에 수정사항이 올라가게 된다.
이제 우리가 fork한 후 가져온 복사 repository의 파일에는 수정사항이 반영되었지만, 당연히 원본 repository에는 수정사항이 반영되지 않았다.
보통 우리가 삼성같은 기업과 같이 일한다고 가정하면 이 기업들은 "우리의 저장소를 fork 한 뒤 수정을 하고 우리에게 알려줘" 라고 요구할 것이다.(직접적 접근권한 x.) 그 후 작업이 끝나면 그 저장소에게 "내가 작업한 내용들을 가져가 줘" 라고 요구해야 한다.
*작업 순서: 프로젝트의 중심에 코드 저장소가 있고 우리는 그 코드를 fork 해간다 -> 작업이 끝나면 그 코드 저장소에게 우리가 작업한 코드를 가져가라고 요청한다.(pull)
원본 repository로 가서 Pull requests로 가보면 위와 같이 New pull request가 나오는데 이를 클릭해본다.
그 후 compare across forks를 눌러준 후, head repository에 우리가 복사한 repository를 클릭해주면 밑에서 원본 코드와 우리가 수정한 코드를 비교하여 변경사항을 자동으로 확인해준다.
그 후 Create pull request를 누르면 코드 저장소에 우리의 요청이 가고, 저장소를 운영하는 사람이 Merge를 진행하면 우리의 작업 내용이 원본 repository에 반영되게 되는 것이다~!!
'Git&Github' 카테고리의 다른 글
CLI log & Commit & Push 란? (0) | 2022.09.07 |
---|---|
Origin & Upstream & Issues 란? (0) | 2022.09.05 |
Branches & Conflicts 란? (0) | 2022.09.01 |
Commit & Area 란? (0) | 2022.08.31 |
Git & Github & Github Desktop 란? (0) | 2022.08.30 |