power-girl0-0

[GIT] git 저장소에 반영하기 본문

개발

[GIT] git 저장소에 반영하기

power-girl0-0 2021. 2. 17. 19:46
728x90

 

해당 게시물은 나동빈 님의 'Git으로 시작하는 협업 및 오픈소스 프로젝트'강의를 바탕으로 작성된 것입니다.

스스로 공부한 것을 정리하고 복습하기 위한 목적으로 작성하였습니다.


소스코드를 수정해서 Git 저장소에 반영하는 방법도 이전 시간에 배웠던 내용과 거의 동일하다.

일반적으로 소스코드를 수정하는 것은 두 가지 사례로 나뉘게 된다.


 1. 해당 프로젝트에 소속된 사람이 아닌 경우 

만약 우리가 특정한 커뮤니티(Community)의 구성원이 아니라서 스스로 커밋을 하여 저장소에 적용할 권한이 없다면, 소스코드를 수정하는 것에 제약이 있다.

 

이런 경우 PR(Pull Request)를 작성하여 오픈소스에 기여할 수 있다.


이 경우는 우리가 큰 오픈소스 프로젝트의 구성원으로 참여하고 싶을 때 사용하는 방법이다.

PR에 수정 사항 등을 담아서 전송하면, 해당 오픈소스의 관리자가 이를 허용했을 때 실제로 오픈소스에 반영이 될 수 있다.


실제로 예시를 들면, 아래와 같이 bootstrap에 대한 PR이 많이 올라와져 있는 것을 확인할 수 있다.


 2. 해당 프로젝트에 소속된 사람인 경우 

자신이 해당 프로젝트에 대한 권한을 가지고 있으므로, 그냥 커밋(Commit)하고 푸시(Push)해서 저장소에 수정 내역을 반영하면 된다.


 소스코드 수정하여 Git 저장소에 반영하기 

이전에 실습을 위해 만들었던 깃 허브 저장소를 사용하여 실습해보자.

위 주소로 클론해준다.

 

해당 방법은 아래 주소를 참고하면 된다.

2021/02/17 - [IT 공부/개발] - [GIT] git 설치 및 사용법 익히기


 1) 파일 추가 

클론을 하고, 확인을 해보면 저번에 올려둔 firstfile.txt가 있는 것을 확인할 수 있다.


여기서, 간단하게 c파일을 추가해보았다.


추가 후 git status명령어를 이용하여 확인해보면, 파일이 추가되었다고 출력된다. 

또한, git add명령어로 해당 파일을 commit할 수 있다는 메시지도 출력되는 것을 볼 수 있다.


따라서 Staging Area에 위치해야 commit을 할 수 있기 때문에, git add로 staging Area위치에 newfile.c를 올려보자.

이는 git add 명령어를 이용해, 수정한 파일을 Staging Area에 올릴 수 있다.

 

git status 명령어를 입력하면, 현재 프로젝트의 상태 확인이 가능하다.

이를 통해, 새로운 파일(New File)로 하나의 소스코드가 등록된 것을 확인할 수 있다.


Staging Area에 올린 파일을 다시 내리고자 한다면 git reset 명령어를 이용할 수 있다.

 

해당 명령어 실행 후, git status로 상태를 확인해 보면 newfile.c 파일이 제외된 것을 확인할 수 있다.

더불어 커밋할 파일은 없다는 메시지가 출력된다.


만약, 추가된 모든 파일을 올리고 싶다면 위와 같이 하면 된다.


이제 실습 작성된 파일을 commit해보자.

성공적으로 commit이 성공하면, 위와 같이 하나의 커밋이 환료되었다는 메시지가 출력된다.


commit후, git push 명령어로 깃 허브의 저장소로 변경된 내역을 반영할 수 있다.


아래와 같이 github로 가서 확인해보면, 성공적으로 파일이 올라간 것을 확인할 수 있다.


 2) 파일수정 

이제 기존에 있는 파일에 Good Bye라는 메시지를 추가하여 파일을 수정해보자.


단순한 메시지 추가 후, git status 명령어를 입력해보면 수정만 이루어진 파일이 존재한다는 메시지가 출력된다.


특정 파일에 대해서 수정한 내역을 무시하고, 다시 저장소에 기록된 내용으로 되돌리고자 할 때는

git checkout -- 명령어를 이용할 수 있습니다.


git checkout 명령어 실행 후, 다시 파일을 확인해 보면 소스코드가 수정 전 상태로 돌아온 것을 확인할 수 있다.


실습을 위해, 다시 Good Bye메시지를 추가하여 커밋을 진행해보자.

위에서 git add . 명령어로 프로젝트에서 변경된 모든 소스코드를 Staging Area에 올렸다.

그 후, git push 명령어로 소스코드를 실제 Git Hub 저장소에 반영된 것을 확인할 수 있다.

 

 

 

 

728x90
Comments