본문 바로가기

국비필기노트/Git

깃(Git)_깃허브(Git hub)

▶깃허브(Git hub) 홈페이지

 

https://github.com/

 

 

GitHub: Where the world builds software

GitHub is where over 73 million developers shape the future of software, together. Contribute to the open source community, manage your Git repositories, review code like a pro, track bugs and feat...

github.com

 

 

 

▶깃허브(Git hub)의 소스코드 

 

 

 

https://github.com/git/git 

에 들어가면 Git의 소스코드를 다운받아 분석할 수 있다. 

 

master

branch별로 소스코드를 확인할 수 있다. 

 

66.603 commits

66.603회의 commits을 진행했다.

 

contributors

1,542 규모의 사람들이 개발에 참여하였다.

 

프로젝트에 대한 소개글 

 

소스코드의 하단에 작성되어있다.

 

 

 

▶깃허브(Git hub) Fork 방법

1) 깃허브 -> 로컬 PC로 파일 다운로드 

 

Git hub에 있는 소스코드를 다운받아 로컬 컴퓨터에 저장하고 

로컬컴퓨터의 소스코드를 Git hub에 저장할 때 Fork 를 통해 진행한다.

 

 

 

다운 원하는 소스코드의 Fork를 클릭한다.

 

 

Git이라고 하는 저장소에 포크를 찍어서 본인의 깃허브로 가져오는 작업이다.

 

Owner: 본인의 깃 허브 이름

Repository name:  Fork할 때 이름 변경 여부

Create fork: 포크 진행

 

 

CREATE를 누르면 본인의 Git hub에 정상적으로 아까의 소스코드가 모두 옮겨와져있으며

forked from git/git을 통해 어느곳에서 가져왔는지 출처도 확인된다.

본인의 깃 허브에 까지 해당파일을 저장했다면 로컬 컴퓨터에 저장이 필요하다.

 

 

소스코드를 저장하기 위한 파일을 생성하고

 

 

본인의 GIt hub 페이지에서 code를 copy 한 후 

 

 

Git bash에서 본인이 저장하고싶은 파일까지 들어온 후 아까 copy한 주소를 복사 붙혀넣기 해준다.

git clone [copy주소] gitsrc

 

 

done까지 확인하고 저장한 파일로 가보면

 

 

소스코드가 정상적으로 저장됨을 확인할 수 있다.

 

 

또한 git bash로 git log를 입력하면 소스코드 git에 대한 기록들이 조회된다.

git log --reverse로 reverse키워드를 하나 더 달아주면 최초의 commit 기록먼저 순차적으로 확인할 수 있기에 보기 편하다 

 

 

좀 더 특정 commit에 대한 내용을 구체적으로 보고싶다면

원하는 commit ID를 copy 한 후 

git checkout [commit ID] 키워드를 입력한다.

그럼 밑에는 (master)가 아닌 (( copy한 commit id )) 로 branch되어서 해당 commit을 확인할 수 있다.

 

 

ls -al로 특정 commit 당시에 어떤 파일이 있었는지 확인 가능하다.

나가는 법은 git checkout master를 통해 master로 branch 하면 된다.

 

 

2) 로컬PC -> 깃허브로 파일 다운로드 

 

NEW 클릭하여 새로운 레파지토리 생성

 

 

 

Repository name : 새로 생성한 폴더명 지정

Public & Private : 해당 소스를 공개할 것일지 비공개할것인지 지정

 

두개를 체크한 후 Create repository 클릭하면

 

 

 

본인이 지정한 이름으로 레파지토리가 새로 생성이 된 것을 확인할 수 있다. 

레파지토리가 생성이 되고 SSH로 작업을 하기 위해선 공개키를 생성시켜야한다.

 

공개키를 생성시키는 방법은 ssh-keygen -t rsa -C "[이메일]" 키워드를 git bash에 작성한 후 계속 Enter를 눌러 마무리한다.

 

 

id_rsa 는 개인 아이디, id_rsa.pub는 공개 아이디이다.

개인 아이디는 절대로 외부에 노출이 되어선 안된다.

이를 확인 위해선 cat id_rsa / cat id_rsa.pub 를 사용하면 ID를 확인할 수 있다.

 

 

cat id_rsa.pub를 사용하여 공개키를 확인한 후 해당 내용을 복사하고 copy해준다.

 

 

다시 깃허브로 돌아와 Settings클릭

 

 

SSH and GPG keys 클릭

 

 

New SSH key 클릭

 

 

Title : 공개키 이름

key : 복사 한 공개키

 

를 입력해주고 Add SSH key 클릭

 

 

정상적으로 SSH 공개키가 본인의 깃허브에 저장됨이 확인된다.

SSH까지 깃허브에 저장을 했다면 다시 깃배쉬로 돌아가서 본인이 깃허브에 업로드를 원하는 파일을 git init 시켜준다.

 

 

java폴더 안의 day11 폴더를 업로드 하기 위해 관리해줄 폴더까지 cd를 통해 들어가서 git init 을 시켜주었다.

다음 git add day11을 해주어 올려주었다.

 

 

그리고 git commit -m 까지 시켜주면 마무리된다.

 

 

그리고 다시 아까 만든 레파지토리로 가서 SSH 주소 복사

 

 

git remote add origin [저장소주소] : origin이라는 이름의 저장소를 add

git remote -v : 저장소 조회

 

복사한 SSH 주소를 git remote add origin 뒤에 붙혀넣기 해주고 git remote -v를 사용하여 정상적으로 origin이라는 이름으로 주소가 저장되었는지 확인해준다.

 

 

다음은 git push origin master 입력! 

중간에 계속할꺼냐고 물어보면 yes를 입력해주고 Enter로 넘어가준다.

 

 

모두 완료되면 본인의 깃허브로 들어가 폴더가 정상적으로 업로드된 것을 확인한다.

 

 

▶깃허브의 PULL과 PUSH

 

깃허브는 컴퓨터만 있다면 어디서든 작업을 이어서 진행할 수 있도록 도와준다.

예를들어 사무실에서 작업을 하고 해당 내용을 깃허브에 올린다면 집에서 그 내용을 다운로드 받아 이어서 작업을 진행할 수 있다. 단, 작업파일의 용량이 너무 크면 다운로드를 할 때마다 시간이 많이 소요되는데 깃허브의 push와 pull기능은 현재 본인이 가지고 있는 파일엔 없는 내용들만 다운받을 수 있다. 즉, 최근의 파일로 update를 해주는 것이다. 

 

 

우선 git_home과 git_office 폴더를 각각 생성한다.

이는 집과 사무실에 있는 폴더를 뜻하나 지금은 사용법을 알기위해 폴더 하나에 임시파일을 2개 생성했다.

 

 

파일을 생성 후 본인의 깃허브에서 작업중인 파일의 SSH주소를 복사한다.

 

 

다시 git bash로 돌아와 git clone [저장소 주소] [다운로드를 원하는 폴더] 키워드를 입력하여 git_home과 git_office 각각의 폴더에 다운로드를 해준다. 

 

 

다음 file1을 git_home에 생성하여 file1에서 작업을 진행한다고 가정해보자.

file1에 homefile이라는 내용을 입력하고 add와 commit push를 통해 깃허브에 file1을 업로드하였다.

 

 

file1을 깃허브에 올렸다면 git_office는 이를 가져오기만 하면 된다.

이 때 사용하는 것이 git pull origin master로서 저번에 설정해둔 origin 주소를 통해 작업물을 당겨(pull)온다.