SourceTree를 이용한 Git

남규이·2021년 12월 21일
1

공부 하는 Q_E

목록 보기
3/5
post-thumbnail

📌 Windows 컴퓨터에 Source Tree 설치하기


<참고>
goddaehee tistory_Sourcetree 설치 및 사용법

📌 로컬에서 Git 사용하기


-. 커맨드 라인(Command Line)은 Git 명령어를 입력할때 사용하는 컴퓨터 프로그램으로, 마우스를 사용하는 것이 아닌 프롬프트로 알려진 텍스트 기반 명령어를 입력한다. Git에서는 Git Bash를 의미하는거 같다.

-. 스테이지(Staging Area)는 로컬저장소로 저장되기 전(commit 전) 거쳐야하는 공간으로, add 명령어를 사용하며, 준비 영역을 의미한다.

-. 커밋(Commit)은 파일 및 폴더의 추가/변경 사항들에 대해 기록 하는 것으로, 최근 시간 순으로 저장되며 과거 변경 이력이나 내용을 확인 할 수 있다. "하나의 의미있는 변화, 하나의 버전, Git이 저장한 하나의 기록"으로 생각할 수 있다.

-. 브랜치(Branch)는 현 시점에서 여러갈래의 미래로 분기하는 것, 말 그대로 하나의 프로젝트 원본은 그대로 두고 현 시점까지의 동일한 프로젝트를 하나더 만든다. 기본 브랜치는 "master"이고, Git 저장소를 초기화할때 자동으로 생성하고 'HEAD'라는 특수한 포인터는 지금 작업중인 브랜치를 가르킨다. 작업중인 브랜치에서 checkout 명령어를 사용해 특정 브랜치로 이동하여 작업할수있다.

-. 머지(Merge)는 다른 브랜치에서 작업해놓은것을 현 브랜치에 가져오는것으로, 여러 브랜치로 작업 후, 현 브랜치에 특정 브랜치를 덮을수 있다. 하지만, 머지(Merge)는 동일한 파일의 동일한 부분을 수정시 충돌이 발생하므로 충돌 발생한 부분중 택일하여 재커밋해야한다.


💡 Commit할 때, 3가지 영역 + 1가지 별개 영역

   Working Directory : 내가 작업하고 있는 프로젝트의 디렉토리
   Staging Area : 커밋을 위해 파일을 선택하는 준비영역
   Repository : 커밋들이 모여있는 저장소

   Stash : 위 영역과 별개의 임시 영역으로, 임시적으로 작업사항을 저장하고 나중에
             꺼내서 사용

💡 파일 상태 2가지

   Untracked 상태 : 단어 의미대로 '추적되지 않는' 파일로, 파일 생성후 한번도 add하지
                           않은 상태
   tracked 상태 : 파일이 Git에 의해 그 변동사항이 추적되는 상태로, 특성에 따라
                      4가지로 나뉜다.

💡 Tracked상태일 때, File의 4가지 상태

   Untracked : Working Directory에 있는 파일이지만 Git으로 버전관리 전 상태
   Unmodified : 신규 파일이 추가되었을때, new file 상태 (git add 상태)
   Modified : 파일이 추가된 이후 해당 파일이 수정되었을 때의 상태
   staged : Staging Area에 반영된 상태

<참고>
hyeja.log velog_Git, GitHub 개념정리
iseunghan tistory_Git 3가지 영역
goddaehee tistory_Git 저장소 만들기

📢 로컬에서 Git을 사용하는 방법 2가지

  1. Git Bash_ https://git-scm.com/
  2. SourceTree_ https://www.sourcetreeapp.com/

📢 Source Tree 를 왜 사용할까?

명령창이 익숙하지않은 초심자에게 GUI환경에서 시각적으로 쉽게 git 할 수 있는 프로그램이다. 형상관리 가능, 협업 가능, 브랜치, 원격 로컬 등 환경셋팅 테스트 유닛 만들기에 수월함의 강점을 보인다.


2. 로컬에서 Source Tree로 Git 사용하기


🔍 기본 용어

-. 로컬(Local) : 네트워크 없이 접속 가능한 것
   ↪ 로컬 컴퓨터 : 현재 사용하고 있는 컴퓨터
-. 원격(Remote) : 네트워크를 접속해서 사용해야 하는 것
   ↪ 원격 저장소 : 네트워크(인터넷)을 통해 접속 가능한 저장소 (ex) GitHub, Bitbucket
-. 저장소(Repository) : Git 으로 관리할 폴더(디렉터리)이다
-. 커밋(Commit) : Git에서 버전을 기록하는 단위
   ↪ 커밋한다 : Git에 하나의 버전을 기록한다
-. 푸시(Push) : 새로 생성한 커밋들을 원격 저장소에 업로드 (로컬저장소 -> 원격저장소)
-. 풀(Pull) : 로컬 저장소로 파일 다운로드하며, 자동 병합(merge) 수행 (원격저장소 -> 로컬저장소)
-. 복제(Clone): 인터넷에 있는(원격) 저장소를 로컬에 다운 받는 것

🔍 Github와 연동 전 간단하게 사용하기

  • 소스트리 창을 열면 상단 Create 눌러 git으로 관리할 폴더의 경로와 저장소 명을 설정해준다.

  • 해당 폴더에 있는 commit 전 파일들을 ➕ 버튼을 눌러 staged 해준다.

  • 스테이지에 올라간 파일을 클릭하고 원하는 커밋메시지를 작성후 커밋 버튼을 눌러준다.

  • 커밋이 완료되면 좌측 WORKSPACE 하위 메뉴인 History 창에서는 특정 커밋을 누르면 이전 버전과 비교해서 어떤 변화가 있었는지 보여준다.

+새로운 브랜치를 생성하기 위해서는 상단에 있는 브랜치버튼을 눌러 새로운이름을 입력하고 ✅새 브랜치 체크아웃을 해주면 생성되는 해당 브랜치에서 작업가능하다. 현 작업중인 브랜치 상태와 새로 생성된 브랜치 상태는 같다.

  • 좌측 브랜치 하위메뉴를 펼치면 브랜치 관리가 가능하며 더블클릭하면 해당 브랜치로 체크아웃된다.

  • master브랜치로 체크아웃 후, 현 브랜치 위에 new-branch의 작업을 병합하기 위해서는 상단 병합버튼을 눌러준다.


  • 소스트리로 각각의 브랜치로 체크아웃을 하여 확인하면 master브랜치에 new-branch가 병합된것을 확인할수 있다.


  • 이후 기능들은 Github와 연동하여 자세히 알아보도록 한다.

<참고>
coding-groot tistory_설치 및 사용법
🎥유튜브 얄팍한 코딩사전_가장 쉬운 Git 강좌 - (상) 혼자작업편

Github와 연동 과정이 궁금하다면 💡

profile
기록하는 습관

0개의 댓글