본문 바로가기

SCM/Git

(23)
23. Git 리모트 저장소에 업로드 - git push 리모트 저장소의 데이터를 받는 방식은 아래의 두 가지 방식이 있다. 리모트 저장소와 연결 후 데이터 다운로드 원격 저장소에 있는 데이터를 로컬로 받아 올 때는 아래 명령을 사용한다. master branch 를 얻어올 때는 뒤에 [branch] 는 없어도 되고 [alias] 항목은 git remote add 할때 설정한 원격 저장소의 이름이다. $ git fetch [alias] [branch] git fetch 명령은 리모트 저장소의 데이터를 모두 로컬로 가져오지만 현재 HEAD 가 가리키고 있는 branch 에 자동으로 Merge 하지 않는다. 즉 아래와 같이 명령을 줘 보면 현재 로컬 레포지토리 브랜치인 master 브랜치에는 아무런 내용이 없고 원격 레포지토리가 새로운 브랜치처럼 추가되어 있다. ..
22. Git 리모트 저장소에서 다운로드 - git fetch, git pull 리모트 저장소의 데이터를 받는 방식은 아래의 두 가지 방식이 있다. 리모트 저장소와 연결 후 데이터 다운로드 원격 저장소에 있는 데이터를 로컬로 받아 올 때는 아래 명령을 사용한다. master branch 를 얻어올 때는 뒤에 [branch] 는 없어도 되고 [alias] 항목은 git remote add 할때 설정한 원격 저장소의 이름이다. $ git fetch [alias] [branch] git fetch 명령은 리모트 저장소의 데이터를 모두 로컬로 가져오지만 현재 HEAD 가 가리키고 있는 branch 에 자동으로 Merge 하지 않는다. 즉 아래와 같이 명령을 줘 보면 현재 로컬 레포지토리 브랜치인 master 브랜치에는 아무런 내용이 없고 원격 레포지토리가 새로운 브랜치처럼 추가되어 있다. ..
21. Git 리모트 저장소 연결 - git remote 리모트 저장소는 인터넷이나 네트워크 어딘가에 있는 저장소를 말한다. (앞서 설명한 github 저장소 역시 원격 레포지토리에 해당한다.) 저장소는 여러개가 있을 수 있는데 여러 사람과 일하기 위한 서버로 이해하면 되고 리모트 저장소를 관리한다는 거은 저장소를 추가, 삭제하는 것뿐만 아니라 브랜치를 관리하고 추적할지 말지 등을 관리하는 것을 말한다. 리모트 저장소 등록 레포지토리를 등록하는 명령은 아래 명령을 사용한다. $ git remote add [alias] [url] 리모트 저장소 확인 git remote 명령으로 현재 프로젝트에 등록된 리모트 저장소를 확인할 수 있다. $ git remote origin -v 옵션을 주면 URL 을 함께 볼 수 있다. $ git remote -v origin ht..
20. Git 허브 - Repository 생성하기 레포지토리 새로 생성하려면 아래와 같이 New repository 메뉴를 선택한다. 그리고 아래와 같이 Repository 이름을 넣고 README 파일을 생성할지 여부와 .gitignore 파일 및 라이선스 파일을 추가할 수 있다. 결과적으로 아래와 같이 레포지토리가 생성되었다. 아래와 같이 ignore 목록도 자체적으로 만들었는데 필요시 수정한다. README 파일은 마크 다운 (Markdown) 문법을 사용하여 작성한다. 간단히 HTML 형식의 문설르 쉽게 작성하기 위한 문법이다. 파일명.md 파일로 저장한다. 온라인 : https://dillinger.io/ 마크다운 편집기 : https://chrome.google.com/webstore/detail/stackedit/iiooodelglhkcpg..
19. Git 허브 - Fork 하기 먼저 필요한 프로젝트가 있는지 확인하기 위해 Explore 를 눌러 보거나 아니면 그냥 검색해본다. 예를 들어 google 이라고 치면 google 에서 공개한 프로젝트가 나온다. 나의 경우 Electric Cloud 사에 플러그인들이 필요해서 이를 Fork 해보려 한다. 필요한 프로젝트로 들어간 다음 아래 그림과 같이 Fork 버튼을 누른다. 그림에 보이는 것처럼 단순히 git clone 을 하거나 파일을 다운로드 할 수도 있다. 계정에 들어가 보면 아래와 같이 해당 프로젝트가 Fork 되었다.
18. Git 허브 Github 란 간단히 Git Repository 가 많이 모여있는 서비스이며 많은 개발자들이 동시에 온라인을 통해 소스를 공유하여 개발할 수 있다. Github 의 특징 아래와 같은 4개의 대표적인 특징이 있다. Repository Fork 프로젝트를 Fork ( 포크로 찝어오는.. ) 하여 다른 사람이 이미 만들어 놓은 프로젝트를 나의 프로젝트로 옮길 수 있다. Pull Requests 소스의 변경 사항을 Fork 한 저장소에 커밋 후 원작자에게 원본 소스 변경을 요청할 수 있다. Social Networking 다른 사람이 어떤 프로젝트를 참여중이며 어떻게 코드를 작성하는지 볼 수 있고 프로젝트에 대한 의견 교환을 할 수 있다. Changelogs 변경 이력 관리를 효율적으로 관리하는 기능을 제공한..
17. Git 브랜치 태깅하기 - git tag 사람들은 보통 릴리즈할 때 Tag 를 사용한다. Tag 조회하기 $ git tag v0.1 v1.3 검색 패턴을 사용하여 태그를 검색할 수 있다. $ git tag -l 'v1.8.5*' v1.8.5 v1.8.5-rc0 v1.8.5-rc1 v1.8.5-rc2 v1.8.5-rc3 v1.8.5.1 v1.8.5.2 v1.8.5.3 v1.8.5.4 v1.8.5.5 Tag 종류 Git 의 태그는 Lightweight 태그와 Annotated 태그로 두 종류가 있다. Lightweight 태그는 브랜치와 비슷한데 브랜치처럼 가리키는 지점을 최신 커밋으로 이동시키지 않는다. 단순히 특정 커밋에 대한 포인터일 뿐이다. Annotated 태그의 경우는 작성자/이메일/태그 날짜/태그 메시지도 저장한다. Lightweigh..
16. Git 브랜치 합치기 - git rebase Rebase 아래와 같이 Branch 가 두 가지로 뻗어 나간 경우 아래와 같이 rebase 한다. $ git checkout experiment $ git rebase master First, rewinding head to replay your work on top of it...Applying: added staged command 이 명령은 두 브랜치가 나뉘기 전인 공통 커밋으로 이동하고 나서 그 커밋부터 지금 Checkout 한 브랜치가 가리키는 Commit 까지 diff 를 차례로 만들어서 어딘가에 임시로 저장해 놓는다. 그리고 rebase 대상이 되는 branch 에 이를 차례로 적용하고 이렇게 합쳐진 위치로 현재 branch 를 가리키게 한다. 그리고 나서 master branch 를 Fa..