만약 소스코드를 수정을 하고 commit을 하기 직전의 상황에서 수정한 내용에 문제점이 발견되고 수정한 부분을 되돌리려고 한다. 직접 이 부분을 사람이 되돌리고자 하면 하나하나 원 상태와 똑같이 지우고 수정해가며 이전의 상태로 되돌릴 수 있다. 이 때 Git의 discard를 통해 자동으로 수정하기 전의 commit한 버전으로 돌아갈 수 있다.


<소스코드 수정 전>


<소스코드 수정 후>


STEP01.

위와 같이 소스코드가 수정되면 SourceTree의 working tree에 아래와 같이 표시가 된다. 이 상태에서 commit을 하기 전 소스코드에 문제가 발생하여 수정하기 전으로 소스코드를 되돌리고 싶다면 SourceTree의 상단 메뉴에서 Discard 버튼을 클릭한다.


STEP02.

Discard Changes 창이 뜨면 되돌리고 싶은 파일을 선택 후 하단의 Discard Changes 버튼을 클릭해준다. Confirm Discard 팝업창이 뜨면 OK를 클릭한다.



STEP03.

Discard 완료 후 "Uncommitted changes"가 사라졌으며 작성하던 소스코드를 확인해보면 수정하기 전의 코드로 돌아가있는 것을 확인할 수 있다.


<결과>

Posted by gangju
,

프로젝트를 진행하다보면 하나의 기능을 완성하거나 더 이상 수정을 할 필요가 없다고 생각할 때 완성된 기존의 소스를 다른 곳에 백업을 해둔다. 이것을 Git에서는 commit이라 한다.


STEP01.

SourceTree를 통해 생성한 Git 리포지토리(자신의 프로젝트 폴더)에 소스 파일을 작성하고 생성한다.



STEP02.

소스 파일을 저장한 후 SourceTree를 확인해보면 다음과 같이 새롭게 생성하거나 수정한 파일들이 SourceTree의 Unstaged files 목록(working copy)에 표시된다. 이 목록에서 commit 하고자하는 파일을 check 한다. (add)

(Unstaged files 목록에 있는 파일들 앞에 보면 아이콘이 표시된다. 파란색 물음표 아이콘의 경우 Git에 최초 commit이 되지않은, Git이 현재 관리하지 않고 있는 파일을 의미하며, 주황색 "..." 아이콘의 경우 최초 commit을 이미 하였으며 Git에 의해 버전관리를 받고 있는 파일을 의미한다.)


STEP03.

Unstaged files 목록에서 check를 하게되면 check된 파일들이 상단의 Staged files(index)로 이동하게 된다. 이것은 commit 하기 전의 임시영역(index)에 해당 파일들이 commit 될 준비가 되었음을 나타낸다. 그런 다음 SourceTree 상단의 Commit 버튼을 클릭해준다.


STEP04.

끝으로 commit을 하기 위해 commit 할 파일의 변경 사항과 같은 정보를 commit 메시지를 통해 기록한다. 기록이 완료되었으면 하단의 Commit 버튼을클릭한다.


STEP05.

다음과 같이 파일의 버전이 생성된다.


※ 파일을 하나씩 클릭해보면 실제 파일에 기록된 코드나 정보를 확인할 수 있는데 초록색 영역은 추가되거나 수정된 부분을 의미하며 빨간색 영역은 예전 버전에서 삭제된 부분을 의미한다.


※ index에 파일이 올라간 후 다시 그 파일을 수정할 경우 index에 위치한 버전과 또 다른 버전이 Unstaged files 목록에 표시된다.


※ Unstaged files 목록에 있는 항목중 commit을 원하지 않는 항목(하나의 버전으로 묶이는걸 원하지 않는 파일)은 check를 해제하면 Staged files 목록으로 이동하지 않으며 commit 버튼을 눌러도 commit이 되지 않는다.

Posted by gangju
,

Git을 통해 버전관리를 받기 위해 작업하는 프로젝트 폴더를 Git의 Repository로 지정해주어야 한다. 이것을 init이라 하며 SourceTree에서는 아래와 같은 과정을 거친다.


STEP01.

SourceTree를 실행 후 왼쪽 하단의 Add Repository 아이콘을 클릭한다.


STEP02.

새롭게 뜨는 팝업 창에서 Create New Repository 탭을 클릭 후 자신이 사용할 프로젝트 디렉토리(JAVA 프로젝트 디렉토리 같이 실제 소스 코드들이 저장되는 디렉토리)를 지정해 준다. Create 버튼을 통해 생성한다.


STEP03.

실제 생성된 리포지토리



'Git&GitHub' 카테고리의 다른 글

SourceTree를 활용한 commit 전 수정사항 취소하기(discard)  (0) 2015.11.16
SourceTree를 활용한 버전 만들기(commit)  (0) 2015.11.15
Git/SourceTree 설치  (0) 2015.11.12
Git 용어 설명  (0) 2015.11.12
Git/GitHub 개념  (0) 2015.11.05
Posted by gangju
,