본문 바로가기

Github

github 알아보자

728x90

저장소는 2개로 나누어서 생각하면 쉽다. 

본인 컴퓨터의 로컬 저장소, 서버 등의 네트워크에 있는 원격 저장소.

기본적으로 로컬 저장소에서 작업을 하고 그 결과를 원격 저장소에 올린다고 생각하면 된다.

 

commit; 파일을 추가하거나 변경 내용을 저장소에 저장하는.

push; 파일을 추가하거나 변경 내용을 원격 저장소에 업로드.

 

기본적으로 작은 작업 단위로 커밋을 하고, 어느 정도 작업이 되면 푸시를 하는 것이 일반적. 

커밋 메시지를 남겨두면 로그를 따라가는 데에 도움이 된다.


 

1. github에 저장소 작성. 

 

깃헙 메인화면에서 create new repository-> 저장소의 이름을 설정하고 필요에 따라 description으로 부가 설명을 입력.

 

저장소에 README파일을 넣을 경우 "Initialize this repository with a README"에 체크하기.

 

나머지는 NONE을 선택(이후 변경 가능하다.)

 

2. 파일의 작성, 편집

 

PC에서 로컬 저장소를 만든다.( 앞 포스팅에서 documents밑에 만든) > mkdir hello-git

 

> cd hello-git

>git init

 

git init 명령어로 현재 디렉토리를 git저장소로 변환하였다

 

3. 파일의 생성, 변경, 삭제, git 인덱스에 추가!

 

> git add hello.txt

 

저장소에 커밋할 준비를 하기 위해 변경 내용을 임시로 저장함.

 

4. 변경한 것을 로컬 저장소에 커밋. 

 

> git commit -m "new 1"

 

파일 추가되었는지 확인을 위해 > git status

 

5. 로컬 저장소에서 원격 저장소로 올리기.

 

github에 있는 원격 저장소로 올리기 위해  > git push origin master

깃헙의 사용자 이름과 암호를 입력하면 push하고 원격저장소에 반영할 수 있다.

작업이 끝나면 github.com 페이지에서 파일이 push되었는지 확인하자.

 


branch 생성, 이동

 

>git branch // 현재 브랜치 목록

 

결과는

* master 

 

현재 브랜치에는 * 가 붙는다. 이것은 브랜치가 master 것이고 현재 브랜치도 master임을 나타내는 것.

그럼 이제 subdir01이라는 브랜치를 만들어보자.

 

>git branch subdir01

 

지점의 이동은 >git checkout subdir01

 

지점 만들기 및 이동은 > git checkout -b subdir01

 

branch에 push

 

먼저 작성한 파일을 git에 추가 commit한다.

> git add hello2.txt

> git commit -m "add file hello2"

 

원격 저장소에 반영시키자. 원격 저장소의 정보는 등록제이기 때문에 branch 이름을 지정하는 것만으로 push가능

> git push origin subdir01

 

github에서 확인해보면 2개의 branch가 존재하고, subdir01 브랜치가 push된 것을 확인.

 

branch에서 pull

 

다른 개발자가 subdir01저장소로 개발하려면?

>git checkout subdir01

 

결과에 보면 체크 아웃한 subdir01이 원격 브랜치의 subdir01에 대응하는 것을 알수 있음.

원격 브랜치 subdir01의 코드를 가져온다.

>git pull 

 

로컬 파일 목록 확인

>ls

 

이제 공동개발 시작가능....

 

브랜치 병합

 

현재 분기를 master로 전환 > git checkout master

 

sub1 브랜치 결과를 병합 > git merge subdir01

 

github에 푸쉬> git push origin master

 

삭제

왠만해서는 삭제 안한다...

 

>git branch -d subdir01

 

 

728x90
반응형

'Github' 카테고리의 다른 글

자주 사용하는 git 명령어  (4) 2019.11.13
GIT- CLI 버전관리  (0) 2019.11.13