라벨이 Git인 게시물 표시

[정보] Git을 이용한 형상관리 #3 - Git 브랜치

이미지
안녕하세요 남산돈가스입니다.

지난 포스팅에 이어 마지막시간으로 Git 브랜치에 대해서 포스팅해보겠습니다.

지난 시간 저희는 Git 저장소를 생성하고 커밋까지 해보았습니다. 이제 조금 더 완전한 버전 관리를 위하여 브랜치에 대해서 알아보도록 하겠습니다.

프로젝트 단위로 개발을 하다 보면 반영되어있는 코드와는 상관없이 독립적으로 개발을 진행할 경우가 생기는데, 이렇게 독립적으로 개발하는 것이 브랜치입니다.

Git에서의 브랜치는 커밋 사이를 가볍게 이동할 수 있는 어떤 포인터 같은 것이다.
기본적으로 Git은 최초 생성 시 master 브랜치를 만들고. 커밋을 만들 때 마다 브랜치가 자동으로 가장 마지막 커밋을 가리키게 됩니다.
위에 보이는 그림처럼 master라는 브랜치가 생성이 되고 그 마스터는 항상 최종 커밋의 위치를 가리키고 있습니다. 그리고 위에 HEAD는 원격 저장소에 최신 버전을 가리키고 있다는 의미인데요. 최초에 master로 브랜치 설정이 되어있으니 HEAD가 바라보는 건 master가 되겠죠.

설명을 길게 하기 보다는 실제로 만들면서 확인해봅시다.

현재 자신의 브랜치가 어떤 것인지 확인해보기 위해서 명령어를 입력해봅시다.

$ git branch* master
git branch 명령어를 입력하면 현재 바라보고있는 브랜치를 보여줍니다. 현재 저는 master를 보고있습니다.

여기서 새로운 브랜치 testing을 하나 만들어보겠습니다.

$ git branch testing$ git branch* master testing
git branch testing 명령을 통해 브랜치를 생성했습니다. 이 브랜치도 역시 현재 작업중이었던 마지막 커밋을 가리키는 브랜치입니다.


그럼 여기까지 testing이라는 새로운 브랜치를 생성해보았습니다. 현재까지 작업 된 master 브랜치는 그대로 두고 다른 개발 사항이 생겨 testing 브랜치에 개발을 진행해보겠습니다.
현재 master로 되어있는 브랜치를 testing으로 이동하려면 checkout 명령어를 이용합니다.

[정보] Git을 이용한 형상관리 #2 - Git 저장소, 생성, 수정, 커밋

이미지
안녕하세요 남산돈가스입니다. 지난 시간에 이어 Git를 이용한 형상관리 포스팅을 이어서 진행하겠습니다.


1. Git 저장소 만들기

Git 저장소를 만든느 방법은 두 가지가 있습니다. 첫번째로는 기존 프로젝트를 Git저장소로 만드는 방법이 있고, 두번째는 다른 서버 저장소에 있는 Git을 Clone하는 방법이 있습니다.

1) 기존 디렉토리를 Git저장소로 만들기
기존 프로젝트를 Git으로 관리하고 싶을 때, 해당 프로젝트의 경로로 이동합니다.

$ git init
git init 명령어를 실행하면 해당 프로젝트 경로에 .git 이라는 디렉토리가 생성됩니다. 이 .git 디렉토리는 저장소에 필요한 뼈대 파일이 들어있습니다. 이 명령만으로는 아직 프로젝트의 어떤 파일도 관리하지 않은 상태입니다. Git이 파일을 관리하게 하려면 저장소에 파일을 추가하고 커밋을 해야합니다.

$ git add ./* $ git commit -m 'my first commit!!'
해당 디렉토리 하위의 있는 모든 파일을 Git 저장소에 add한 뒤 commit 명령어를 이용해 저장소에 추가한 파일을 commit 하였습니다.

2) 기존 저장소를 Clone 하기

Git 저장소를 복사하고 싶을 땐 git clone 명령을 사용합니다.

$ git clone [url]
url 안에 복사할 저장소의 url를 입력하면 됩니다. 지원하는 프로토콜은 https, git, ssh 등이 있습니다.

2. 수정하고 저장소에 저장하기

git init이나 clone을 이용하여 저장소를 생성해보았습니다. 이제 실제 파일을 수정하고 파일의 스냅샷을 커밋해보겠습니다.
 워킹 디렉토리의 모든 파일은 크게 Tracked(관리대상인) 파일과 Untracked(아닌) 파일로 나뉜다. Tracked파일은 이미 스냅샷에 포함되어 있던 파일을 말합니다. 또 Tracked파일은 Unmodified(수정되지 않은) 와 Modified(수정 된) , 그리고 Staged(커밋으로 저장소에 기록 할) 로 나뉩니다. 그리고 그 이외의…

[정보] Git을 이용한 형상관리 #1 - Git의 세가지 상태, Git 설치

이미지
안녕하세요 남산돈가스 입니다.

오늘은 Git에 대해서 포스팅해보려고 합니다.
현재 플랫폼사업팀은 소스코드 관리를 svn을 이용하고 있습니다. 하지만 개발하며 braches를 trunk로 올리는 과정에서 잦은  conflict들을 경험하였고 Git을 이용하면 소스관리가 조금 더 편해질까라는 의문을 가지게 되었고 함께 공부해볼 겸 Git에 대해 포스팅하기로 하였습니다.

이 포스팅은 방대한 Git의 내용을 모두 다루기보다는 실제 개발에 가장 빈번하게 사용되는 기능을 위주로 작성할 예정입니다.

1. Git의 세가지 상태

Git은 파일을 Committed, Modified, Staged 이렇게 세 가지 상태로 관리합니다.
먼저 Committed란 데이터가 로컬 데이터베이스에 안전하게 저장되었다는 것을 의미합니다.
Modified는 수정한 파일을 아직 로컬 데이터베이스에 커밋하지 않은 것을 말합니다. 마지막으로 Staged는 현재 수정한 파일을 곧 커밋할 것이라고 표시한 상태를 의미합니다.
 이 세 가지 상태는 Git 프로젝트의 세 가지 단계(Git Directory, Woking Directory, Staging Area)와 연결되어 있습니다.


 Git Directory는 Git이 프로젝트의 메타데이터와 객체 데이터베이스를 저장하는 곳을 말합니다. 이 Git Directory가 Git의 핵심이라고 할 수 있습니다. 다른 컴퓨터에 있는 저장소를 Clone할 때 이 Git Directory가 만들어집니다.
 Working Directory는 프로젝트의 특정 버전을 CheckOut 한 것을 말합니다. Git Directory는 지금 작업하는 디스크에 있고 그 디렉토리 안에 압축된 데이터베이스에서 파일을 가져와서 Working Directory를 만들게 됩니다.
 Staging Area는 Git Directory 안에 존재하고있습니다. 단순한 파일이고 곧 커밋할 파일에 대한 정보를 저장합니다.

위의 설명을 종합해보자면 Git은 다음과 같은 순서를 작업을 하게 됩니다.
 1) …