sourcetree 사용법

사용 저장소 및 프로그램

github

  • 인터넷상에 소스코드를 올릴 수 있는 웹 저장소 제공(free면 공개프로젝트만 가능)
  • 회원가입 필요
  • https://github.com/

sourcetree

  • git 관리 프로그램(git 이력, 소스 올리기, 내려받기 등.. 을 할 수 있는 gui 프로그램)
  • sourcetree 다운로드
  • https://www.sourcetreeapp.com/
  • 중간에 Bitbucket 에 가입해야함
  • 설치가 완료되었으면 메뉴 Tools-Options를 누르고 FullName, Email address를 적는다

저장소

Local git 저장소 생성

  • Local git이란 웹이 아닌 자신의 컴퓨터에 git저장소를 만드는 것을 의미한다
  • 내 컴퓨터에 git저장소를 생성한다
  • 맨 위에 탭 +선택
  • Create 선택
  • Browse 버튼을 클릭해서 생성할 폴더 위치를 넣어준다
  • 해당 폴더에 들어가면 .git 이라는 폴더가 생성된 것을 알 수있다
  • .git 폴더가 생기면 git을 사용하고 있는 폴더라는 뜻

Local git 저장소 추가

  • 생성과 달리 이미 만들어진 Local git 저장소를 sourcetree에 불러오는 것
  • 맨 위에 탭 +선택
  • Add 선택
  • Browse 버튼을 클릭해서 가져올 폴더 위치를 넣어준다
  • sourcetree로 버전관리가 가능해진다

Remote git 저장소 가져오기

  • Remote git 저장소란 원격저장소로 웹에 있는 저장소를 뜻한다
  • 웹에 있는 git내용을 내 local로 가져오고 싶을 때 사용
  • 맨 위에 탭 +선택
  • Clone 선택
  • Source Path/URL에는 git 주소를 적는다(git주소는 git 저장소 메인페이지에서 Clone or download 버튼을 누르면 나온다)
  • 두번째 텍스트 창에는 git 폴더를 지정한다
  • Clone 버튼을 누른다
  • Settings 를 누르고 git주소를 추가한다

Commit

Commit 설명

  • git 프로젝트의 내용을 수정한 것을 Local에 저장하는 것
  • Unstaged Files : 수정된 파일이 등록된다
  • Staged Files : 수정된 파일을 ‘Stage Selected’버튼을 클릭하면 ‘Staged Files’창으로 이동한다
  • Commit : Commit 버튼을 누르면 Local 저장소에 저장된다. 그리고 Push에 1이 추가된다
  • Push : Push를 하면 원격 저장소에 내가 수정한 퍄일이 올라간다
  • Pull : Push와 반대로 원격 저장소의 최신 소스를 받을 때 사용한다

Branch

Branch 설명

  • branch는 나뭇가지 처럼 분기된 저장소(비슷한)를 만드는 것을 말한다
  • master는 우리가 이때 까지 사용하던 기본 저장소(브런치)를 말한다
  • 현재 버전에서 기능이 많이 변화된다면 브런치를 만들어야 한다.왜냐하면 A기능을 추가한다고 할 때 A기능을 계속 master 저장소에 커밋하게 되면 라이브 되고 있는 소스와 개발소스가 뒤엉켜서 장애가 날 확률이 높아진다. 그래서 A기능이 완성된 후 한번에 master 저장소에 넣어야 안전하다
  • Branch는 ‘Branch’버튼을 눌러서 생성할 수 있다. 생성되었다면 옆에 BRANCHES 메뉴에 branch 메뉴가 생긴것을 확인할 수 있다
  • a.txt 파일의 내용이 branch마다 다를 때 branch를 이동할 때마다 a.txt 내용이 바뀐다

Merge

  • branch 끼리 소스코드 내용을 병합하는 것
  • 내 소스를 원격 저장소에 올릴 때 사용
  • master와 branch 병합 방법
    1. branch에서 commit 전 반드시 pull한다
    2. pull하고 충돌이 나면 수정하고 수정사항을 올린다
    3. master로 이동하고 branch 오른쪽 마우스클릭하여 ‘Merge work into current branch’ 메뉴를 누른다(가져올 branch로 이동하고 가져올 소스코드가 있는 branch를 선택해 ‘Merge work..’ 버튼을 누르면 된다
    4. master에서 충돌나면 수정하고 아니라면 수정사항을 push해서 원격 저장소에 올린다

충돌해결

  • Merge를 하면 master, branch의 소스코드가 다른부분에서 충돌이 날 수 있다
  • 소스코드 수정 후 수정파일을 오른쪽 클릭 Resolve conflicts-Mark Resolved 클릭

Discard,Remove,Reset, Revert

  • Discard : Unstaged files에 있을 때 파일을 원래대로 되돌릴 수 있다
  • Remove : Unstaged files에 있을 때 파일자체를 삭제하는 것
  • Reset : 커밋이력에 내용을 아예 지워버리면서 특정 버전으로 되돌리는 것.원격 저장소에 올리기전에만 사용할 수 있다
  • Revert : 커밋이력에 내용을 남기면서 특정 버전으로 되돌리는 것

프로젝트 eclipse로 가져오기

  • 이클립스 프로젝트 창에서 오른쪽 클릭 후 ‘Import’ 선택
  • General - Projects from Folder or Archive 선택
  • clone 한 프로젝트 선택
  • 가져오기 완료(이후 수정사항이 있으면 sourcetree에 자동으로 등록된다)