이상하게 fork -> clone -> edit 의 과정을 다룬 글을 찾을 수가 없네. 오늘 겪은 시행착오를 기록하자면 ...

 

누군가 만들어놓은 프로젝트를 가져와 나만의 프로젝트로 만들겠다

가 나의 목적이 되겠다.

 

보다 구체적으로 말하자면, pixel2style2pixel의 official repository를 퍼와 내 데이터와 목적에 맞게 수정하여 사용하겠다는 것이었다. (원본 프로젝트에 pull request 하여 기여하겠다는 건 아니고 ..)

 

1. GitHub 로그인

 

2. 원본 프로젝트의 repository에 들어가 내 repository로 fork 해온다

해당 저장소의 오른쪽 상단에 fork 버튼이 있다
내 저장소에 '복제'된 모습

저장소의 주소도 바뀌는 것을 확인할 수 있다.

https://github.com/<원저자>/<프로젝트명> 

https://github.com/<내 사용자명>/<프로젝트명> 

 

3. 이제부터 로컬 환경. 터미널에서 SSH키로 github에 접속한다.

$ ssh -T git@github.com

 

4. (fork한) 내 repository로 가서 SSH 주소를 복사하고 아래 명령어에 붙여넣는다.

복사한다

$ git clone git@github.com:<내 사용자명>/<프로젝트명>.git

작업 폴더에 repository의 파일들이 받아진 것을 확인할 수 있다.

 

git init은 하지 않아도 된다. git clone 한 것으로 이미 아래 내용이 처리된 상황.

  • git init (create the local repository)
  • git remote add (add the URL to that repository)
  • git fetch (fetch all branches from that URL to your local repository)
  • git checkout (create all the files of the main branch in your working tree)

 

5. 내가 원하는 대로 파일을 수정한다. 

 

6. 수정된 내용을 GitHub상 내 repository에 반영한다. 여기부터 과정은 거의 같다.

$ git status  					# 수정된 상태를 확인
$ git add .   					# 전부 stage
$ git commit -m "<커밋 메세지>"	  # stage된 파일 commit
$ git push -u origin master	# 변경사항 push

기존 프로젝트를 변형한 나만의 프로젝트 탄생.

이제 원격 서버에서 수정된 repository를 clone하여 바로 실행할 수 있음.

 

 

(+)

행여나 원래 프로젝트에 push 해버릴까봐 (?) 노심초사 했는데, 그럴 때는 이 git이 어디로 remote 연결되어 있는지 확인하면 된다.

$ git remote -v

origin git@github.com:<내 사용자명>/<프로젝트명>.git (fetch)
origin git@github.com:<내 사용자명>/<프로젝트명>.git (push)

 

이러면 내 repostiory로 연결되어 있구나, 알 수 있음.

복사했습니다!