문서의 이전 판입니다!


깃헙 (Github)

소스 버전을 관리할 수 있는 엔진을 웹에서 서비스로 만든 것이 깃헙 이다

https://github.com

전통적으로 소스 버전을 관리할 수 있는 시스템으로 동시버전시스템(CVS)과 서브버전관리시스템(Svn) 등이 있다. 이들은 소스를 관리하는 서버가 있는 탓에 소스 변경 사항을 저장하고 관리하려면 네트워크 연결이 필수였다.

리누스 토발즈가 만든 깃(Git) 이라는 엔진은 다르다. 오프라인에서도 작업한 다음 온라인으로도 작업 환경을 옮길 수 있다. 그리고 이 깃 엔진을 웹에서 서비스로 만든 게 깃헙 이다

근래 뜨거운 이슈를 받고 있는 것이 GitHub 이다.

GitHub 는 쉽게 말하면 소스포지구글코드와 같은 오픈 소스 저장소이다. 그러나 버전 컨트롤은 Git을 사용하고, 소스 저장소 이외의 소셜 기능 등이 더 있다.

많은 오픈 소스 프로젝트가 GitHub를 사용 중이다.

자매품 깃랩 (Gitlab) 참조

클라이언트

윈도

맥 osx

우분투

그냥 git을 쓰면 된다.

sudo apt-get install git

그리고 깃(Git) 참조.

행위

Clone

기존 저장소를 Clone 하기 다른 프로젝트에 참여하려거나(Contribute) Git 저장소를 복사하고 싶을 때 git clone 명령을 사용한다. 이미 Subversion 같은 VCS에 익숙한 사용자에게는 "checkout" 이 아니라 "clone" 이라는 점이 도드라져 보일 것이다. Git이 Subversion과 다른 가장 큰 차이점은 서버에 있는 거의 모든 데이터를 복사한다는 것이다. `git clone`을 실행하면 프로젝트 히스토리를 전부 받아온다. 실제로 서버의 디스크가 망가져도 클라이언트 저장소 중에서 아무거나 하나 가져다가 복구하면 된다

git clone [url]

명령으로 저장소를 Clone 한다. libgit2 라이브러리 소스코드를 Clone 하려면 아래과 같이 실행한다.

$ git clone https://github.com/libgit2/libgit2

이 명령은 ‘`libgit2’이라는 디렉토리를 만들고 그 안에 .git 디렉토리를 만든다. 그리고 저장소의 데이터를 모두 가져와서 자동으로 가장 최신 버전을 Checkout 해 놓는다. libgit2 디렉토리로 이동하면 Checkout으로 생성한 파일을 볼 수 있고 당장 하고자 하는 일을 시작할 수 있다. 아래과 같은 명령을 사용하여 저장소를 Clone 하면 ``libgit2'이 아니라 다른 디렉토리 이름으로 Clone 할 수 있다.

Push

# Create a new repository on the command line

touch README.md
git init
git add README.md
git commit -m "first commit"
git remote add origin https://github.com/dryoo/openwiki.git
git push -u origin master
# Push an existing repository from the command line

git remote add origin https://github.com/dryoo/openwiki.git

git push -u origin master

Commit

변경된 것을 내 컴퓨터에서 깃헙으로 올린다.

git add .
git commit -a -m "Minor patch"
git push -u origin master

-a 옵션으로 스테이지 추가와 커밋을 동시에 한다.

Pull

깃헙에 만들어져있는 저장소에서 파일들을 내려받는다.

cd dokuwiki/lib/tpl
mkdir dokutwitterbootstrap
cd dokutwitterbootstrap
git init
git pull git://github.com/dryoo/daummovie.git

Status

git status

git status -uno
git check out 파일이름

변화를 무시한다

역링크