코딩두의 포트폴리오

(2) GitHub 활용을 통한 오픈소스 프로젝트 분석 및 개선 본문

Git, GitHub

(2) GitHub 활용을 통한 오픈소스 프로젝트 분석 및 개선

코딩두 2024. 4. 30. 00:39

1. 해당 프로젝트를 Fork하여 내 GitHub 계정에 복사

 

2. 로컬 저장소(repository) 만들기

원하는 경로에 작업할 디렉토리 생성

git Bash 실행 후 생성한 디렉토리로 이동(cd는 현재 작업 디렉토리 변경 / pwd는 현재 작업 디렉토리 확인)

 

3. Git 저장소 초기화(git init)

git init 실행하여 Git 저장소 초기화

git init 실행 후 초기화되었다는 의미

'C:/oss_git' 폴더는 Git으로 관리할 수 있는 로컬 저장소가 되었음해당 폴더에서 변경사항 추적, 커밋 가능

 

4. git add / git commit

Git 저장소 초기화 후 해야 할 일은 파일을 작업 디렉토리에 추가, 커밋

oss_git 폴더에 hello.txt라는 파일 생성 후 git add . 명령어 사용하여 파일이 Git을 추적할 수 있도록 추가그 후 git commit -m "커밋 메시지" 명령어 사용하여 변경사항 로컬 저장소에 저장작업 디렉토리에 파일을 추가하고 커밋하는 과정을 거쳐서 변경 이력을 저장하는 것이 Git의 기본적인 작업 흐름임

 

5. 로컬 저장소, 원격 저장소 연결하기 (git remote)

git remote add: 로컬 저장소, 원격 저장소 연결할 때 사용하는 명령어

git remote add [별칭(=일반적으로 origin)] [원격 저장소 URL]

이후에 git push 명령어를 사용하여 로컬 저장소의 변경 내용을 원격 저장소에 업로드할 수 있음

 

6. 로컬 시스템에 프로젝트를 Clone하여 소스 코드를 분석하고 실행

 

7. 프로그램 기능 수정, 새로운 기능 추가

기존의 'rock_paper_sisccor.py' 코드에 

제목과 지시문 변경, 결과 표시 강조, 게임을 계속할건지에 대한 질문을 개선하여 코드를 수정함

 

8. 변경 사항을 자신의 GitHub 원격 저장소에 Commit하고 Push하여 업데이트

vscode의 터미널에서 명령어를 통해 작업 수행

 

로컬 저장소가 원격 저장소의 최신 변경사항을 포함하지 않아 오류가 발생

즉, 원격 저장소에 이미 새로운 커밋이 있는데 이를 로컬에 반영하지 않은 채로 push를 시도하였기 때문

 

git pull origin master --allow-unrelated-histories 명령어로 강제 병합 실행

병합 후 로컬 -> 원격으로 push 성