Sourcetree
1) 소개
- Git을 좀 더 편하게 사용하기 위한 Git GUI Tool이다.
- 제작회사는 Jira, Trello를 제작하고 운영하고 있는 Atlassian 이다.
- 원래 github가 같은 Bitbucket을 운영하기 위한 Gui Tool로 만들었음.
2) 설치


- 계정생성을 위해 [Create one for free] 클릭






- SSH 키가 있으면 [예] 아니면 [아니오] 클릭


- 언어 설정을 한국어에서 영어로 변경하기 : [도구] > [옵션]

- 언어를 한국어에서 English로 변경 후 [확인] 클릭, 그리고 프로그램 다시 시작


- Local Repository 생성하기 : [Create] 클릭

- [Browse] 를 클릭하여 특정 디렉터리 선택하고 타입은 [Git]으로 설정 후, [Create] 버튼 클릭


- 생성후 화면, [Open in Explorer] 클릭


3) Version 만들기
- 선택한 Directory에 README.md 파일 생성

- Sourcetree에서는 다음과 같이 README.md 파일을 감지함. 아직 버전관리대상의 파일이 아님을 알 수 있음(Unstaged file). [Staged file]로 상태 변경을 위해 [+] 버튼을 클릭한다.

- 해당 파일이 [Staged file]이 되었다. 이제 Commit하기 위해서는 화면 아래쪽 Commit영역에 Commit 메시지를 입력해야 하는데, 혹시 보이지 않으면 메뉴에서 [Commit] 버튼을 클릭한다. Commit 메시지를 입력하고 [Commit] 버튼을 클릭한다.

- 성공적으로 Commit이 끝나면 아래의 그림과 같을 것이다. 지금부터는 이 파일은 버전관리의 대상이 된다.

- 혹시 Commit시 에러가 발생할 수 있는데, 그것은 이 파일을 Commit하는 사람에 대한 정보가 없을 경우이다. Committer의 정보를 입력하거나 또는 Committer의 정보를 변경하기 위해서 [Tools] > [Options]를 클릭한다.

- 메모장을 이용해서 방금 생성한 README.md 파일을 열고 간단하게 내용을 입력한다. 저장 후 파일을 닫는다.

- Sourcetree로 돌아오면 방금 Commit한 파일 위에 [Uncommitted changes]라는 항목이 생긴 것을 볼 수 있다.

- [Uncommitted changes]를 클릭한다. 그리고 화면 하단의 [Unstaged files]에서 README.md를 선택한다. 그러면 오른쪽에 변경 사항을 연두색으로 표시한 뷰가 보인다.

- Commit을 위해 메뉴 [Commit]을 클릭한다. [Unstaged files]에 있는 README.md 오른쪽의 [+] 버튼을 클릭하여 [Stated files] 항목에 올려놓고, 다음과 같이 간단하게 Commit 메시지를 작성한 후, [Commit] 버튼을 클릭한다.


- 다시 README.md 파일을 다음과 같이 수정하였다.

- Sourcetree에서 잠시 기다리면 역시 [Uncommitted changes.] 항목이 나타난다.

- 같은 작업으로 메뉴의 [Commit]를 클릭하고, [Unstaged files]에 있는 README.md의 오른쪽에 있는 [+]를 클릭하여 [Staged files]에 올리고 간단하게 다음과 같이 Commit 메시지를 작성하고, [Commit] 버튼을 클릭한다.

- 이렇게 하면 같은 README.md 파일에 버전이 3개가 생성되게 된다.

- 목록을 각각 선태해보자. README.md 파일의 내용이 조금씩 수정된 파일의 변화를 확인할 수 있다. 각각 파일의 변화는 연두색 영역으로 표시해 주는 것을 알 수 있다. 반면 분홍색 영역은 이전버전에서는 수정됐으나 지금 현재 버전에서는 수정되지 않았음을 보여준다.
Reference
Tools for Git
https://docs.google.com/document/d/e/2PACX-1vRQm2UbHHRFRQRWZ2JKrl57ccxzCCD-c-RQ3ATCcBUKnSwuqUmjJ1gfIfbcDgltsEw9z7_vF__e3Haj/pub