깃허브에 대한 기초가 이제 다들 어느 정도 쌓이셨을 거 같은데요. 이번에는 조금 쉬어가는 포스팅을 준비했습니다. 이번 포스팅에서 소개할 Atlassian Sourcetree는 Git과 관련하여 가장 권위 있는 GUI Tool 중 하나입니다. Sourcetree를 사용하면, Commit, Push, Pull 등의 명령을 CLI가 아닌 GUI 방식으로 간단하게 처리할 수 있게 됩니다.
물론 요즘은 IDE가 워낙 잘 만들어져있다보니, Commit, Push, Pull을 위한 GUI 툴에 대한 수요가 많이 줄었는데요. 저도 IntelliJ나 Android Studio에서 제공하는 기능을 주로 사용하다보니, Source Tree를 사용할 이유가 거의 없다고 생각하긴 합니다. 그래도 Atlassian Sourcetree는 매우 유명한 툴 중 하나이므로, 참고용으로 읽어봐주시기 바랍니다.
① https://www.sourcetreeapp.com/ 에 접속한다.
② Download for Windows를 클릭한다.
③ 다운로드되는 동안 https://bitbucket.org/ 에 접속하여 BitBucket 회원가입을 진행한다.
④ 다운로드가 완료되면 .exe파일을 연다. 아래와 같은 화면이 나오면 원하는 옵션을 선택하면 된다. 여기서는 건너뛰기를 선택하였다.
⑤ Mercurial을 설치할 것인지 물어보는 것인데, 굳이 필요 없으므로 선택을 해제한다.
⑥ 이름과 이메일 주소를 입력하고 다음 버튼을 클릭한다.
⑦ SSH 키를 불러올지에 대해 물어보는데 SSH 키를 아직 만들지 않았으므로 아니오를 선택한다.
⑧ 아래와 같은 화면이 나오면 설치가 완료된 것이다.
① 로컬은 본인의 PC에서 사용하는 저장소를 의미하고, 원격은 깃허브에 있는 Repository를 의미한다.
② 파일 > 열기 버튼을 눌러 작업하고 있는 인텔리제이 파일을 열면 된다.
③ 그동안의 병합과정이 그래프로 나타난다.
④ Clone 버튼을 이용하여 원격저장소에서 파일을 가져올 수도 있다.
⑤ 코드를 변경하면 아래와 같이 commit에 숫자가 표시된다.
⑥ commit을 완료한 후, push도 소스트리를 이용해 진행할 수 있다.
⑦ 또한 fetch와 pull을 이용해 원격저장소에 있는 최신 코드를 가져와 로컬 파일에 자동으로 병합까지 수행할 수 있다. 물론, conflict가 나는 경우는 별도의 처리작업이 필요하다.
① 인텔리제이에서 새 프로젝트 파일을 하나 만든다.
② Git 또는 VCS 탭에서 Github > Share Project on Gihub 버튼을 클릭한다.
③ Github Repository에 본인의 인텔리제이 파일을 public으로 업로드한다.
④ 소스트리에서 파일 > 열기로 방금 생성한 파일을 연다.
⑤ 코드를 임의대로 수정한다. 또 임의로 파일을 하나 생성한다.
⑥ 이제 아래와 같이 커밋할 게 있음을 사용자에게 알려준다. 커밋을 진행하기 위해 모두 스테이지에 올리기 버튼을 클릭한다.
⑦ 커밋메시지를 작성한 후 커밋을 클릭한다.
⑧ 이번에는 push할 게 생겼음을 알려준다. push 버튼을 눌러 push를 진행할 수 있다.
⑨ push가 정상적으로 완료되었음을 확인할 수 있다.
① 이번에는 testProject 파일을 Organization Repository에 올려보자. 깃허브 계정을 하나 더 만들어 실습을 진행해보았다.
② 개인 Repository에 올려놓은 testProject 파일을 Organization Repository로 transfer한다. 방법은 아래의 링크를 참조하라.
>> 저번 포스팅
③ 이제 다른 계정으로 접속하여 해당 Organization Repository를 fork한 후 파일을 인텔리제이에서 열어준다.
④ 처음 작성했던 testProject파일을 아래와 같이 수정한 후 Organization Repository로 push한다.
⑤ 이제 Organization Repository에 있는 코드는 최신화가 반영된 코드이고, 내가 fork로 열어준 파일은 최신화가 되지 않은 코드가 된다.
⑥ fork로 열었던 인텔리제이 파일에 들어가 organization Repository의 주소를 org로 등록한다.
⑦ fetch 버튼을 클릭한다.
⑧ pull 버튼을 클릭한다.
⑨ pull이 완료되면 변경사항이 적용된 것을 확인할 수 있다. (testProject가 원격저장소에 올린 파일이고, blog가 fork된 개인 Repository에서 클론한 파일이다.)