관리 메뉴

FU11M00N

[ git & github ] Git 저장소에 코드 수정 반영 본문

Git

[ git & github ] Git 저장소에 코드 수정 반영

호IT 2021. 2. 18. 03:13

 

 

 

 

 

이 포스팅은 구름 에듀 강좌 나동빈 선생님 강의 "Git으로 시작하는 협업 및 오픈소스 프로젝트" 를 기반으로 작성되었습니다.

 

edu.goorm.io/learn/lecture/11528/git으로-시작하는-협업-및-오픈소스-프로젝트/info

 

구름EDU - 모두를 위한 맞춤형 IT교육

구름EDU는 모두를 위한 맞춤형 IT교육 플랫폼입니다. 개인/학교/기업 및 기관 별 최적화된 IT교육 솔루션을 경험해보세요. 기초부터 실무 프로그래밍 교육, 전국 초중고/대학교 온라인 강의, 기업/

edu.goorm.io

 

 


 



-  소스코드를 수정하고 싶을 때

 

 

- 해당 프로젝트의 소속된 사람이 아닌 경우

 

어떠한 오픈소스의 특정 기능 추가를 원하지만,
구성원이 아니라서 저장소의 적용할 권한이 없다면 소스코드 수정의 제약이 있습니다.

이러한 경우 pull request (PR) 를 작성하여 오픈소스의 기여할 수 있습니다.

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

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

 

 

- 해당 프로젝트의 소속된 사람인 경우

 

자신이 해당 프로젝트의 대한 권한을 가지고 있다면,
커밋(commit)하고 푸시(push)해서 저장소의 수정 내역을 반영하면 된다.

 

 

 

 

-  코드 수정

 

- .git 이 존재하는 파일에 python 코드를 넣어보겠습니다.

 

 

코드의 내용은 아래와 같습니다.

 

def add(a,b):
	return a+b

 

 

add 명령을 통해 올려주면 정상적으로 add가 된 것을 확인 할 수 있습니다.

 

- 만약 add전 상태로 돌리고 싶다면 "git reset <파일이름>" 을 해주면 됩니다.

 

 

- git파일 내의 모든 파일을 add 하고 싶다면 "git add . "을 해주면 됩니다.

 

 

 

위의 add가 된 파일을 커밋을 시킨 후, push로 원격 리포지토리에 올려줍니다.

 

 

파일이 정상적으로 추가됨을 확인할 수 있습니다.

 

 

그럼 코드를 수정해보겠습니다.

 

 

- 수정한 코드

 

def add(a,b):
	return a+b
    
def sub(a,b):
	return a-b

 

 

수정한 이후, 깃 상태를 확인해보겠습니다.

 

명령어는 git status 를 사용하면 된다.

 

 

 

"modified" 라고 하면서 파일이 수정되었음을 알려줍니다.

 

 

또한 add 가 되지 않았다고, 두가지 방법을 알려줍니다.

- git add

- git restore

 

 

수정한 것을 무시하고,

다시 저장소에 기록된 내용으로 되돌리고자 할 때는 git checkout -- 명령어를 사용됩니다.

 

 

py_code.py 를 열어보면, 수정 전 상태로 되돌아 간 것을 알 수 있습니다.

 

 

 

 

다시 sub 함수 추가해보겠습니다.

 

 

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

 

git push 로 소스코드를 github 에 올려보겠습니다.

git commit 을 해준 뒤

"git push"까지 해야합니다.

 

사진엔 안찍힘.

 

 

원하는 내용이 추가되어 수정이 정상적으로 이루어진 것을 확인할 수 있습니다.

Comments