Sourcetree
1) 소개
- Git을 좀 더 편하게 사용하기 위한 Git GUI Tool이다.
- 제작회사는 Jira, Trello를 제작하고 운영하고 있는 Atlassian 이다.
- 원래 github가 같은 Bitbucket을 운영하기 위한 Gui Tool로 만들었음.
2) 설치
![](https://velog.velcdn.com/images/yongseok0419/post/ae390c9a-1ae8-4719-b997-cd26185fb2d9/image.png)
![](https://velog.velcdn.com/images/yongseok0419/post/3447102c-10e2-4dd0-a42f-913f1766751e/image.png)
- 계정생성을 위해 [Create one for free] 클릭
![](https://velog.velcdn.com/images/yongseok0419/post/dcf9d5f7-0929-43e2-9e9d-41b33754daa6/image.png)
![](https://velog.velcdn.com/images/yongseok0419/post/b56d05fc-f006-4eee-9e77-ceb69e4feab9/image.png)
![](https://velog.velcdn.com/images/yongseok0419/post/ffc5b0f5-83bb-405d-bca8-931e4cb3c390/image.png)
![](https://velog.velcdn.com/images/yongseok0419/post/ebf2f410-98d7-4278-9f67-e913ff0630ab/image.png)
![](https://velog.velcdn.com/images/yongseok0419/post/b2567917-2d2b-482f-9558-d9401b3e2194/image.png)
![](https://velog.velcdn.com/images/yongseok0419/post/407444ce-eb6b-49aa-8eb2-cc4ce08da218/image.png)
- SSH 키가 있으면 [예] 아니면 [아니오] 클릭
![](https://velog.velcdn.com/images/yongseok0419/post/b00a4a43-021c-4943-b04d-70e3232ecc8c/image.png)
![](https://velog.velcdn.com/images/yongseok0419/post/0f285b3e-8e7f-43c7-943f-7aa3e940ea3d/image.png)
- 언어 설정을 한국어에서 영어로 변경하기 : [도구] > [옵션]
![](https://velog.velcdn.com/images/yongseok0419/post/b7f4db31-bf0b-41d6-bd16-c279e9c7a2f7/image.png)
- 언어를 한국어에서 English로 변경 후 [확인] 클릭, 그리고 프로그램 다시 시작
![](https://velog.velcdn.com/images/yongseok0419/post/8281be22-f2a7-4ae9-8ee4-704a95a64631/image.png)
![](https://velog.velcdn.com/images/yongseok0419/post/5926a379-1f6c-42ea-891e-5a6aa144e5c1/image.png)
- Local Repository 생성하기 : [Create] 클릭
![](https://velog.velcdn.com/images/yongseok0419/post/56f3e0cb-00ee-462d-8fb8-803d57c5ee7a/image.png)
- [Browse] 를 클릭하여 특정 디렉터리 선택하고 타입은 [Git]으로 설정 후, [Create] 버튼 클릭
![](https://velog.velcdn.com/images/yongseok0419/post/0e3945a1-398c-4ae1-8e29-dc14620898ee/image.png)
![](https://velog.velcdn.com/images/yongseok0419/post/a4e913f5-67e7-4f45-8e56-369bbac2f882/image.png)
- 생성후 화면, [Open in Explorer] 클릭
![](https://velog.velcdn.com/images/yongseok0419/post/f37ffc96-2cc3-43a4-bcf8-2097ff98a593/image.png)
![](https://velog.velcdn.com/images/yongseok0419/post/aa3d5d1e-d71c-4df0-a26f-c0d4d0ee10e3/image.png)
3) Version 만들기
- 선택한 Directory에 README.md 파일 생성
![](https://velog.velcdn.com/images/yongseok0419/post/a6efbd4d-d5d7-48c9-b4bb-dcdbe2e00bb0/image.png)
- Sourcetree에서는 다음과 같이 README.md 파일을 감지함. 아직 버전관리대상의 파일이 아님을 알 수 있음(Unstaged file). [Staged file]로 상태 변경을 위해 [+] 버튼을 클릭한다.
![](https://velog.velcdn.com/images/yongseok0419/post/4c78c25a-5024-43b8-b298-a7385836f45b/image.png)
- 해당 파일이 [Staged file]이 되었다. 이제 Commit하기 위해서는 화면 아래쪽 Commit영역에 Commit 메시지를 입력해야 하는데, 혹시 보이지 않으면 메뉴에서 [Commit] 버튼을 클릭한다. Commit 메시지를 입력하고 [Commit] 버튼을 클릭한다.
![](https://velog.velcdn.com/images/yongseok0419/post/4a54659f-ffca-4c1f-999c-095f9d236d94/image.png)
- 성공적으로 Commit이 끝나면 아래의 그림과 같을 것이다. 지금부터는 이 파일은 버전관리의 대상이 된다.
![](https://velog.velcdn.com/images/yongseok0419/post/ed1ee7da-6e84-4f75-aaf5-6275bd103dca/image.png)
- 혹시 Commit시 에러가 발생할 수 있는데, 그것은 이 파일을 Commit하는 사람에 대한 정보가 없을 경우이다. Committer의 정보를 입력하거나 또는 Committer의 정보를 변경하기 위해서 [Tools] > [Options]를 클릭한다.
![](https://velog.velcdn.com/images/yongseok0419/post/03f50a82-6e08-4d7f-a8c8-026468d3fa7e/image.png)
- 메모장을 이용해서 방금 생성한 README.md 파일을 열고 간단하게 내용을 입력한다. 저장 후 파일을 닫는다.
![](https://velog.velcdn.com/images/yongseok0419/post/f48a45fb-a319-4e58-aac9-210f3aad350e/image.png)
- Sourcetree로 돌아오면 방금 Commit한 파일 위에 [Uncommitted changes]라는 항목이 생긴 것을 볼 수 있다.
![](https://velog.velcdn.com/images/yongseok0419/post/21f93581-4508-4c7f-877e-39b68f97d5f5/image.png)
- [Uncommitted changes]를 클릭한다. 그리고 화면 하단의 [Unstaged files]에서 README.md를 선택한다. 그러면 오른쪽에 변경 사항을 연두색으로 표시한 뷰가 보인다.
![](https://velog.velcdn.com/images/yongseok0419/post/a44e6179-8bc1-4eb1-9e44-18389275e422/image.png)
- Commit을 위해 메뉴 [Commit]을 클릭한다. [Unstaged files]에 있는 README.md 오른쪽의 [+] 버튼을 클릭하여 [Stated files] 항목에 올려놓고, 다음과 같이 간단하게 Commit 메시지를 작성한 후, [Commit] 버튼을 클릭한다.
![](https://velog.velcdn.com/images/yongseok0419/post/68b824bf-6862-4d6f-bc56-c755d918f686/image.png)
![](https://velog.velcdn.com/images/yongseok0419/post/98892386-3932-4e06-8b4c-5a5fc7b7e5cf/image.png)
- 다시 README.md 파일을 다음과 같이 수정하였다.
![](https://velog.velcdn.com/images/yongseok0419/post/73e2e4d5-e357-4ce7-b1cf-1468966b6d74/image.png)
- Sourcetree에서 잠시 기다리면 역시 [Uncommitted changes.] 항목이 나타난다.
![](https://velog.velcdn.com/images/yongseok0419/post/7742c2a0-93b7-4348-86aa-96ee12df7392/image.png)
- 같은 작업으로 메뉴의 [Commit]를 클릭하고, [Unstaged files]에 있는 README.md의 오른쪽에 있는 [+]를 클릭하여 [Staged files]에 올리고 간단하게 다음과 같이 Commit 메시지를 작성하고, [Commit] 버튼을 클릭한다.
![](https://velog.velcdn.com/images/yongseok0419/post/132b584d-cfb7-47d7-a641-a28205299cbf/image.png)
- 이렇게 하면 같은 README.md 파일에 버전이 3개가 생성되게 된다.
![](https://velog.velcdn.com/images/yongseok0419/post/09e72972-3f1a-4338-8c9c-0d694259daf9/image.png)
- 목록을 각각 선태해보자. README.md 파일의 내용이 조금씩 수정된 파일의 변화를 확인할 수 있다. 각각 파일의 변화는 연두색 영역으로 표시해 주는 것을 알 수 있다. 반면 분홍색 영역은 이전버전에서는 수정됐으나 지금 현재 버전에서는 수정되지 않았음을 보여준다.
Reference
Tools for Git
https://docs.google.com/document/d/e/2PACX-1vRQm2UbHHRFRQRWZ2JKrl57ccxzCCD-c-RQ3ATCcBUKnSwuqUmjJ1gfIfbcDgltsEw9z7_vF__e3Haj/pub