본문 바로가기

ETC/Git

GitHub 1 - 기본 개념과 소스트리 사용하기

add

커밋하기 전에 저장을 원하는 파일들을 묶는 일을 해야합니다.

이 작업을 '스테이지에 파일을 올린다(add)'라고 합니다.

 

commit

게임의 세이브에 해당하는 행동을 Git에서는 커밋이라고 합니다.

다시 말해서 언제든지 커밋한 시점으로 되돌아 갈 수 있습니다.

 

push

커밋을 하면 현재 작업 내용의 세이브 데이터가 내 컴퓨터에 저장됩니다.

이걸 GitHub에 업로드하는 행동을 Git에서는 push라고 합니다.

 

clone

GitHub Repository(원격 저장소)를 내 컴퓨터로 복사해옵니다.

일부가 아닌 전체 파일 자체를 모두 가져오는 것을 clone이라고 합니다.

 

 

Git의 개념을 쉽게 이해하기 위하여 터미널 명령(CLI)을 사용하는 것은 나중으로 미뤘습니다.

 

참고로 제 블로그에 Git 게시판에 처음 쓰는 글이지만 GitHub의 가입과 저장소 생성은 정말 쉬워서 패스하고 소스트리를 사용한 GitHub의 저장소 클론하는 단계부터 포스팅하겠습니다.

 


 

1. SourceTree 설치하기

아래 링크로 접속하여 다운로드 받아 실행합니다.

https://www.sourcetreeapp.com/

 

 

Bitbucket Server는 개별적으로 서버를 설치한 사용자만 선택하시고, 저는 아틀라시안 계정을 이용해 Bitbucket으로 인증할 것이기 때문에 우선 Create one for free를 눌러 아틀라시안 계정을 만들어줍니다.

 

계정을 만들고 Bitbucket을 클릭하면 인증이 완료됩니다.

그 후 기본적으로 체크되어 있는 것들을 그대로 두고 계속 다음을 눌러줍니다.

 

 

저는 SSH 키가 없으니 아니오를 체크했습니다.

 

 

2. GitHub 저장소 클론

SourceTree에서 상단 메뉴에 Clone을 눌러줍니다.

 

 

첫번째 칸에 GitHub 레파지토리의 주소를 입력하고 탐색을 누르면 아래 PC의 저장될 공간까지 자동으로 입력됩니다.

여기서 클론을 누르면 클론이 완료됨과 동시에 내 PC에도 두번째 칸의 경로에 하나의 저장소가 생성됩니다.

 

 

3. Add

위에서 내 PC에 저장된 저장소의 경로에 아무 파일이나 추가하고 SourceTree를 보면 커밋하지 않은 변경사항이 떠있습니다.

 

 

하단을 보면 스테이지에 올라가지 않은 파일이 있는데 이것을 선택적으로 올리든, 모두 스테이지에 올리든 버튼을 눌러 스테이지로 올려줍니다.

 

 

4. Commit

WORKSPACE의 파일 상태를 보면 Add 해둔 파일이 있습니다.

 

이제 이걸 Commit 해야하는데 여기서 중요한 점!

혼자 작업하는 것이 아니라면 커밋 메시지를 내 동료를 위해서 논리적, 간단하게 적어야합니다.

 

- 반드시 한 번에 하나의 논리적 작업만을 커밋한다.

예를 들어 A에 관련된 내용을 수정/추가했다면 그 내용을 전부 한번에 커밋하는 것이 좋습니다.

- 커밋 메시지를 간단하지만 누구나 이해하기 쉽게 명확하게 쓴다.

일기장을 쓰듯 독백식으로 쓴다면 누군가는 시간을 낭비할 수 있습니다.

 

 

- 커밋 메시지 작성 규칙

1. 첫 줄에 간단하지만 명확하게 내용을 씁니다.

2. 한 줄 비우고

3. 자세한 내용을 적습니다.

 

예시)

 

 

5. Push

커밋 메시지까지 작성 후 커밋을 하고 화면을 유심히 보세요.

 

 

브랜치에서는 1개의 파일이 커밋되었다고 알려주고 있고 상단 메뉴엔 Push 할 파일이 1개 있다고 보여줍니다.

상단 메뉴의 Push를 눌러 Push를 해줍니다.

 

 

push 전 GitHub의 아이디와 비밀번호를 물어보네요, 입력해줍시다.

그리고 push가 완료되면 GitHub 사이트의 push한 레파지토리로 이동합니다.

 

 

이미 메인 화면에서도 제가 commit할 때 작성한 마지막 메시지가 출력이 되고 있습니다.

커밋 전 23개였지만 push 했으므로 24개가 되어있는 걸 확인할 수 있습니다.

빨간색 박스의 commits를 누르면 여태까지 커밋한 내역들이 기록되어 있어 한 눈에 보기 편합니다.

 

 

레파지토리에 정상적으로 업로드된 것을 확인할 수 있습니다.