소스코드 수정하여 Git 저장소에 반영하기 [Git으로 시작하는 협업과 오픈소스 프로젝트 5강]
이번 시간에는 소스코드를 수정해서 Git 저장소에 반영하는 방법에 대해서 알아보도록 하겠습니다. 이전 강좌에서는 깃 허브(Git Hub)에서 하나의 저장소를 생성하여, 초기 프로젝트 구성을 올리는 방법에 대해서 알아보았습니다.
소스코드를 수정해서 Git 저장소에 반영하는 방법도 이전 시간에 배웠던 내용과 거의 동일하다고 보시면 됩니다. 일반적으로 소스코드를 수정하는 것은 두 가지 사례로 나뉘게 됩니다.
① 해당 프로젝트에 소속된 사람이 아닌 경우
만약 우리가 특정한 커뮤니티(Community)의 구성원이 아니라서 스스로 커밋을 하여 저장소에 적용할 권한이 없다면, 소스코드를 수정하는 것에 제약이 있습니다. 이런 경우 PR(Pull Request)를 작성하여 오픈소스에 기여할 수 있습니다.
이 경우는 우리가 큰 오픈소스 프로젝트의 구성원으로 참여하고 싶을 때 사용하는 방법입니다. PR에 수정 사항 등을 담아서 전송하면, 해당 오픈소스의 관리자가 이를 허용했을 때 실제로 오픈소스에 반영이 될 수 있습니다.
② 해당 프로젝트에 소속된 사람인 경우
자신이 해당 프로젝트에 대한 권한을 가지고 있으므로 그냥 커밋(Commit)하고 푸시(Push)해서 저장소에 수정 내역을 반영하면 됩니다.
※ 소스코드 수정하여 Git 저장소에 반영하기 ※
우리는 초보자이므로, ②번 케이스를 따라서 우리가 만든 깃 저장소에 수정된 내역을 반영하는 방법에 대해서 알아보도록 하겠습니다.
저는 위와 같이 이전에 실습을 위해 만들었던 깃 허브 저장소를 확인해보겠습니다.
깃 허브 주소가 https://github.com/ndb796/Git-Study입니다.
실습을 위해 특정한 폴더를 생성하여 그 폴더로 클론(Clone)을 받아보겠습니다. 말 그대로 프로젝트 폴더를 다운로드 받겠다는 소리입니다.
그러면 위와 같이 다운로드가 완료됩니다.
이제 소스코드를 수정해보겠습니다. 위와 같이 하나의 파일을 만들어서 add() 함수를 작성해 볼게요.
이후에 git add 명령어를 이용해 우리가 수정한 파일을 Staging Area에 올릴 수 있습니다. git status 명령어를 입력하면 현재 프로젝트의 상태를 확인할 수 있습니다. 새로운 파일(New File)로 하나의 소스코드가 등록된 것을 확인할 수 있습니다.
Staging Area에 올린 파일을 다시 내리고자 한다면 git reset 명령어를 이용할 수 있습니다. 이후에 git status로 상태를 확인해 보면 my_module.py 파일이 제외된 것을 확인할 수 있습니다. 더불어 커밋할 파일은 없다는 메시지가 출력됩니다.
아무튼 실습을 위해 일단 작성된 파일을 커밋해보도록 합시다. 커밋 이후에는 성공적으로 하나의 커밋이 완료되었다는 메시지가 출력됩니다. 이제 이를 git push 명령어로 깃 허브의 저장소로 변경된 내역을 반영할 수 있습니다.
성공적으로 반영이 완료되었습니다. Git Hub 주소로 가보시면 이를 확인할 수 있어요.
이제 한 번 하나의 함수를 더 추가해 보겠습니다.
단순히 함수를 추가한 이후에 git status 명령어를 입력해 보시면 수정만 이루어진 파일이 존재한다는 메시지가 출력됩니다.
특정 파일에 대해서 수정한 내역을 무시하고, 다시 저장소에 기록된 내용으로 되돌리고자 할 때는 git checkout -- 명령어를 이용할 수 있습니다.
git checkout 명령어를 이용한 이후에 다시 파일을 확인해 보시면 위와 같이 소스코드가 원래 상태로 돌아온 것을 확인할 수 있습니다.
저는 다시 sub() 함수를 추가하여 커밋을 진행해보도록 하겠습니다.
git add . 명령어로 프로젝트에서 변경된 모든 소스코드를 Staging Area에 올렸습니다. 이후에 git push 명령어로 소스코드를 실제 Git Hub 저장소에 반영한 것을 확인할 수 있습니다.
'Git으로 시작하는 협업과 오픈소스 프로젝트' 카테고리의 다른 글
Git 브랜치의 개요 및 사용해보기 [Git으로 시작하는 협업과 오픈소스 프로젝트 7강] (0) | 2018.12.23 |
---|---|
Git에서 커밋(Commit) 내역 수정하기 [Git으로 시작하는 협업과 오픈소스 프로젝트 6강] (0) | 2018.12.22 |
Git의 동작 원리 [Git으로 시작하는 협업과 오픈소스 프로젝트 4강] (0) | 2018.12.22 |
Git이 등장한 배경과 Git의 장점 [Git으로 시작하는 협업과 오픈소스 프로젝트 3강] (0) | 2018.12.22 |
Git 설치 및 기본 사용법 [Git으로 시작하는 협업과 오픈소스 프로젝트 2강] (1) | 2018.12.22 |