본문 바로가기

Git

0원으로 현업 환경을 설정해보자! Sourcetree

이 포스팅은 "실제 현업의 환경을 설정해보자!"의 Series  중 일부입니다.

 

1.  0원으로 현업 환경을 설정해보자! Git

2  0원으로 현업환경을 설정해보자! Sourcetree

3. 0원으로 현업환경을 설정해보자! Beyond Compare

4. 0원으로 현업환경을 설정해보자! Git Flow(Sourcetree)

5. 0원으로 현업 환경을 설정해보자! Github Pull Request(코드 리뷰)

6. 0원으로 현업환경을 설정해보자! [번외편] 히스토리 꾸미기

Install Sourcetree

 

소스트리를 설치하기 위해선 Download link 에서 설치파일을 받을 수 있습니다.

 

저는 소스트리를 사용하는 이유가 git command 으로는 시각적으로 이해하기 어렵다고 생각되기 때문에

도구를 사용하는 것이 생산성이 올라갈 것이라 생각합니다.

 

gitkraken 을 사용하시는 분도 많지만 공개 저장소는 무료고 비공개는 유료입니다.

 

 

 

협업하면서 Pull Request 를 요청한 Repository 를 Checkout 할 수 있어야 합니다.

 

fetch(Pull Request 요청한 Repository) 등록

 

Checking out pull requests locally 웹으로 할 수 있는 인터페이스를 제공합니다.

 

하지만 이 포스트는 소스트리를 기본적으로 설명합니다. 

 

Pull Request 를 요청한 Repository 를 편하게 Checkout 해봅시다!

저장소 설정

저장소 -> 저장소 설정

 

 

현재 origin 의 이름으로 한개의 Repo 가 등록되어 있습니다. 

Upstream 이라고 불리며 자세한 내용은 여기에서 참조하세요.

 

 

추가를 누르고 fork 한 Repo 의 URL 를 아래와 같이 입력합니다.

 

 

정상적으로 등록된 것을 확인할 수 있습니다.

 

 

그러면 Rhyno/AccessControl 이라는 이름의 Branch 가 보여지게 됩니다!

 

 

Checkout 하고 코드를 빌드할 수 있습니다!

 

 

 

AllInOne Pull Request

위 과정은 Git 주소를 지정한다는 귀찮음이 있습니다.

모든 Pull Request 를 요청한 branch 에 대해서 Upstream 을 등록할려면 아래와 같이 설정하시면 됩니다.

 

 

 

아래 그림과 같이 등록합니다. 

 

 

fetch = +refs/pull/*/head:refs/remotes/upstream/pr/*

 

짜잔~ 그러면 Pull Request 를 요청한 브랜치들이 보여집니다.

 

 

 

 

다들 Git 명령어들을 익히고 있다고 가정하면서 몇가지 팁 정도만 소개하고 포스트를 마치겠습니다. 

Graph

확실히 git log 를 통해 텍스트 기반으로 보는 것보다 이해하기 쉽습니다.

 

 

Stash 

Stash 는 매우 강력한 기능입니다.

 

Stash는 Modified, Tracked 상태의 수정사항들의 파일들을 스택에 잠시 저장했다가 나중에 다시 적용할 수 있습니다.

(브랜치와 상관없이)

 

 

+2 Modified

+1 UnTracked

 

아래 파일들에서 Stash 를 사용하면 NotStash(UnTracked) 파일는 유지가 됩니다.

 

git stash -m "stash1"

 

 

 

좌측 슬라이드 메뉴에서 "치워두기" 라고 표시되어 있는 메뉴에 stash 스택이 저장됩니다.

 

 

 

그렇다면 NotStash 를 제거하기 위해선 어떻게 해야할까요? 

 

Clean

 

소스트리에서는 Clean 은 "초기화"  로 보면 될 것 같습니다.

 

StashUntracked 파일을 지우진 않지만 CleanUntracked 까지 초기화 합니다.

 

 

참조: 

https://help.github.com/en/github/collaborating-with-issues-and-pull-requests/checking-out-pull-requests-locally

https://git-scm.com/book/ko/v2