반응형

github에 파일 관리를 위해 GUI 환경을 제공하는 여러툴들 중 괜찮은 source tree 기본 사용법이다.

설치는 알아서 하시고 상단 메뉴들 중 + Create를 누르면 아래처럼 로컬(나는 내부 네트워크 폴더가 로컬작업화면이다.) 설정 화면이 나타난다.

Create Repository On Account를 눌러 git repository를 만들수도 있겠으나 만들어는 지지만 오류가 나타난다.

따라서 그냥 로컬만 만들고 git자체는 github.com에서 만들길 권장한다.
일단 로컬환경을 구축하였다면 이번엔 리모트(github.com) 환경을 만든다.

최상단 메뉴의 Repository > Add Remote를 눌러

Repository Setting 화면을 불러온다.

name과 url을 입력해야 하는데

먼저 github.com에 접속하여 Remote Repository를 생성한다.
나는 로컬과 동일한 이름인 HelloHell로 그리고 공개여부는 Private로 하였다.
github.com은 3명까지는 무료로 Private를 이용할 수 있는것으로 알고 있다.

Create a new repository를 눌러 생성하였다면 아래처럼 생성된 화면과 함께 HTTPS 주소를 확인할 수 있다.
일단 이 주소(https://github.com/arosones/HelloHell.git)를 복사한다.

그리고 Source Tree의 URL에 붙여넣으고 끝내면 좋으련만 21년 이후로 계정 설정이 바뀌어서 토큰을 생성하여 주소에 포함시켜야만 한다.

더 자세한 토큰 생성법은 내가 이전에 작성한 포스트를 참고하길 바란다.
(https://hippalus.tistory.com/569)

토큰이 만들어졌다면 이제 이 토큰을 URL에 붙여넣는다.
방식은 https://토큰@github.com/당신의계정과 레파지토리 주소 이다. 

모르겠다면 내 포스팅을 참고하라
(https://hippalus.tistory.com/569)

문제 없이 진행했다면 좌측 REMOTES아래에 HelloHell이 나타남이 확인될 것이다.

 

여기까지가 가장 기본인 로컬과 리모트 저장소 생성방법이었다.
이제부턴 파일을 실제로 리모트 환경인 git으로 올려보겠다.
화면을 Source Tree(좌), 로컬저장소(우상단), github.com(우하단) 이렇게 3개를 한번에 캡쳐 떠 보았다.
로컬저장소에 파일을 아무거나 만들고 Source Tree에서 가만히 기다리거나 F5를 누르면 추가한 파일이 나타난다.

Unstaged files 윈도우 영역에서 우측의 + 버튼을 누르면 Staged files 윈도우 영역으로 파일이 올라가고 좌상단의 Commit 을 눌러 Commit을 시도하면 하단의 Commit 윈도우에 적당한 문장을 작성할 수 있다.
난 First Commit이라 작성했다.
Commit버튼을 눌러 Commit을 실행한다.

그럼 이렇게 History에 First Commit 문구와 함께 로컬 저장소의 master로 파일이 저장된것을 확인할 수 있다.

그럼 이제 리모트 환경인 github.com으로 동기화 작업을 진행해 보겠다.
상단 메뉴의 Push를 누르면 창이 하나 뜨는데 체크박스가 있다.
이걸 체크해주자.

그러면 git에 master가 보여지고 Push를 누르면 git으로 전송되어 동기화가 일어난다.

동기화가 이루어진 결과다.
우측 하단에 보면 FirstHell.txt의 모습을 확인할 수 있다.

하는김에 하나 더 해보자.
이번엔 SecondHell.txt를 만들어 아까처럼 Unstaged files의 파일리스트 +버튼을 눌러 staged files윈도우로 보내고 또 Commit를 하면

아까와 조금 다르게 Push에 숫자1 뱃지가 표시됨을 확인할 수 있다.

 

 

여기까지가 기본적인 로컬과 리모트 환경의 동기화였다.

그럼 이제 조금 더 나아가보자
git활용법 중 정책이란게 있다.
master만 운영하면 나중에 개발할 때 master로 동기화를 무턱대고 해버리게 되면 버그가 발생하고 난리가 난다.
그래서 정책을 설정하는데 일반적인 dev도 있고 긴급한 오류 수정인 hotfix도 있고 각 상황에 맞게 각 회사들마다의 정책이 있을 것이다.
이것까지 논하기엔 주제가 너무 나가버리니 그냥 난 서비스인 master와 개발 환경인 dev두개로만 정책을 설정했다 치겠다.
즉 개발로 모든 작업이 끝나면 master로 덮어 쓰는 구조정도로 이해하면 되겠다.

github.com에서 아래처럼 새로운 정책으로 dev를 만든다.
dev라 입력하고 Create branch:dev from 'master'를 누르면 된다.

그리고 이번엔 Dev로만 보내기 위해 DevHell.txt란 파일을 로컬에 만든 후

Source Tree에서 Unstaged files에서 +버튼을 눌러 Staged files로 보낸 후 마찬가지로 Commit를 시킨다.

다 되었으면 이제 Push를 해야 하는데 이상하다.
remote branch 콤보박스 컨트롤에 dev가 나타나지 않는다.
master만 보인다.

이럴 땐 그냥 dev라고타이핑 하면 된다.
source tree가 잘 만든 툴이지만 버그들이 좀 보인다. -_-

dev 입력 후 push를 누른 후 github로 이동해서 보면 dev에만 DevHell.txt가 동기화 된 것이 확인된다.

master로 가보면 당연히 devhell.txt파일을 찾을 수 없다.

여기까지 source tree의 기본 사용법과 아주 조금 응용법에 대해 알아봤다.

반응형
Posted by Hippalus
,