Ver2. Git, Githup & SourceTree

Edwin·2023년 1월 30일
1
post-thumbnail

Git과 Githup

  • 본 강의는 스파르타코딩클럽 항해99 13기, 강의내용의 일부입니다.
    backlog git강의

1) git

git은 이전 글에서 소개한 것과 같이, 내컴퓨터에 버전관리 저장소를 구성하고, 파일을 추적하여 관리하는 체계라고 소개하였다.

2) githup

githup란 내컴퓨터의 저장소가 아니라, 웹상의 대행업체 서버에 원격저장소를 구성하고, 파일을 업로드하여 관리하는 체계이다.

3) 내컴퓨터에 git 설치하기

git을 설치하는 방법은 여러가지 이지만, 스파르타 강의에서는 homebrew를 이용하여 git을 다운 받는 방법을 소개한다. 맥북에어(M1)를 처음 샀을 때부터 설치하고 싶었지만, 미뤄두었던 homebrew를 이제야 설치하는데, homebrew를 설치하기 위해서는 먼저 맥북의 설정을 하나 해주어야 한다.

첫째, Terminal 정보가져오기(오른쪽버튼)에서 로제타 실행을 허용해야 한다. 둘째, 설정이 끝났다면, 터미널에 다음의 코드를 입력하자.

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"


셋째, 맥북 비밀번호를 입력하고 다음의 화면이 나오면 Enter를 입력하자.

넷째, 터미널에서 Xcode를 다운로드 하라고 하니, 소프트웨어 업데이트에서 해당 부분을 업데이트 해주자.
다섯째, 이제 homebrew 세팅이 끝났으니, git을 설치해주자.

brew install git

여섯째, 설치가 되었는지 확인해보자. 필자의 맥북에는 git version 2.37.1 이 설치되었음을 확인하였다.

git version

뭔가... 이렇게 homebrew가 설치되어도 되나 싶지만 쉽게 설치가 되었다. 그렇다면, 유튜브 고화질 영상을 다운받는 서울리안님의 homebrew 강의에 따라, 유튜브에서 필요한 영상들을 이제는 고화질로 쉽게 명령어로 받아봐야 겠다. 관련 글은 추후에 기록해보겠다.

4) Sourcetree 설치하기

오리지널 git을 설치한 이유는 GUI 환경에서 프로그램된 기타 프로그램들로 쉽게 git으로 버전관리를 하고자 함이었다. 여러 프로그램이 있지만, 항해99에서는 SourceTree를 제안하기에, 해당 프로그램을 설치함으로 본 과정을 따라가고자 한다.
SourceTree, MacOs용
SourceTree, Window용


설치, 오른쪽 하단에 있는 [계속] 버튼을 클릭하고 다음으로 진행하자.
진행1, SourceTree에서 githup을 이용하기 위해서는 token(접근권한)을 설정해주어야 한다.

githup, token 설정하기

  • 체크해야할 항목 : repo , workflow, admin:org, admin:public_key, gist, user, delete_repo
    해당 항목을 설치하면, 토큰의 비밀번호를 확인할 수 있는데, 지금 저장해 놓지 않으면 새로운 토크을 받아서 해야하니 저장해 놓자.(불편하지만, 보안을 위해서는 어쩔 수 없다.)

진행2, Sourcetree로 이동해서 설정 > 계정으로 들어가서 다음과 같이 발급받은 토큰을 입력하고, Surcetree와 githup을 연결해준다.

5) Githup을 사용하는 용례

다른 사람과 협업하기

git을 사용하기에 앞써서, 이전 포스트에서 간단하게 언급했었던 branch에 대한 개념을 언급하고 이어가고자 한다.

git을 통해서 협업을 한다는 것은 다른 사람과 함께 작업을 하는 것을 의미한다. 만약 저장소에 설정된 버전*을 다른 사람과 협업한다고 한다면, 그 버전 이전으로 돌아가면 안된다. 왜냐하면 협업의 과정에서 다른 버전을 가지고 작업함으로 후에 충돌이 발생될 요인을 만들어내는 것이기 때문이다.

그러기에 branch의 개념을 git은 도입한다. branch란 개개인의 개발자가 조각버전을 통해 자신의 프로젝트를 저장관리하고, 추후에 이를 합치는 것을 말한다. 이렇게 프로젝트를 진행하면, 추후에 누가, 언제, 어떤 부분을 수정했는지 살펴보기에 유용하며, 버전을 관리하는 관리자 차원에서도 효율적이기 때문에, branch에 대한 개념은 함께 작업하는 개발자라면 반듯이 숙지해야 하는 개념이다.

개발자들의 커뮤니티

다른 사람의 공개 프로젝트를 구경함으로 간접적인 개발 학습을 할 수 있으며, 또한 오류가 발생되었을 때 gitghup을 통해서 개발자들 간의 상호소통을 할 수 있는 공간이 된다.
살펴보기, 대한민국 헌법 개정이력 프로젝트
살펴보기, 주니어 개발자를 위한 취업정보

6) Sourcetree 이용하기

오리지널 git을 다루는 것은 코린이에게는 익숙하지 않는 작업이다. 일단 명령어를 통해서 소통하는 리눅스적 상태 때문에 더욱 어렵게 느껴진다. 반면에 Sourcetree같이 GUI에 의해서 프로그래밍된 프로그램들은 쉽게 git을 이용할 수 있다는 점에서 접근성이 좋으며, 그러한 프로그램 가운데 sourcetree는 전세계에서 가장 많이 사용하는 git관련 프로그램 중에 하나이다.

첫째, git 파일생성하기

버전관리를 시작할 git폴더를 아래와 같이 생성해보자. 만약 생성한 위치의 폴더에서 git폴더를 확인할 수 없을 때는 숨겨진 상태이니, 다음과 같이 하여 확인해보자.

  • MacOs : command + shift + .



둘째, git 파일 삭제하기


간단하다. 생성된 목록에서 마우스 오른쪽 버튼을 눌러 "삭제"하기를 해주면 된다. 또는 폴더에서 바로 삭제하는 방법도 있다. 이때 1) 북마크 제거를 하면 sourcetree에서만 제거되고, 프로젝트는 컴퓨터에 남는 반면, 휴지통으로 이동하면, 완전히 삭제된다. 만약 파일은 남겨두고 버전관리만 지우고 싶다면, 폴더에서 git폴더만 삭제하면 된다.

셋째, git commit 하기

만약 workingtree에 파일이 있다면, add을(세번째 동그라미) 함으로 stagingArea로 파일을 보내고, commit을(네번째 동그라미) 함으로 저장소에 파일을 전송하면 첫번째 버전이 생성된다. 오리지널 git에서 명령어를 입력했던 것에 비해, 그래픽된 프로그램(GUI)에서는 버튼으로 이를 간소화하여 진행할 수 있다. 버전이 생성되었기에, workingtree에 git이 추적할 파일이 없다는 것을 확인하면, 현 단계는 완료된다.

넷째, git commit 으로 새로운 버전 생성하기


첫번째 commit을 한 이후에, 파일을 수정하면 이전버전에서 어떤 내용이 변경되었는지를 바로 확인할 수 있다. 이전 파일 대비 7번째 줄이 삭제되고, 7-9번째 줄이 추가되었다.


위의 사진에서 버전2를 만들었을 때, 기존 rtf확장자를 txt확장자로 변경해 주었더니, 버전1에 대비해서 버전2에서는 rtf파일이 삭제되고, txt파일이 추가되었다는 정보를 확인할 수 있다.


history에서 버전3을 살펴보자. 하단을 보면 해당버전의 고유ID와 작성자, 날짜, 그리고 레이블의 상태가 HEAD master라는 정보를 살펴볼 수 있다.

7) 원격 저장소 이용하기

Sourcetree에서 내컴퓨터에 git을 이용하여 버전관리하는 방법에 대해서 살펴보았다. 그러나 내컴퓨터에서만 버전관리를 하면 문제에 대응할 때 제안이 생겨버린다. 극단적인 예로 화재가 발생하여 내컴퓨터가 전소되었다고 하자. 그렇다면 복구할 수 있을까? 아마 눈물만 흐를 것이다. 이를 방지하기 위해서 외부에 저장소를 만드는 것이 githup과 같은 대행업체를 통해서 구축하는 외부저장소라고 앞에서 학습했었다.

첫째, githup(웹)에서 원격저장소를 생성

둘째, Sourcetree에서 githup 연결하기, PUSH

설정하기 버튼으로 들어가서 오늘쪽상단에 있는 "원격" 항목에 들어가서 githup와 연결을 지어준다.


원격 이름에 "origin"이라고 기록하는 이유는 "originally cloned 된 원격 repository"의 줄임말이라고 한다. URL/경로 옆에 있는 지구본을 클릭하면, 복제할 저장소를 기록할 gitghup의 저장소의 목록을 연결지을 수 있다.

이를 통해서 내컴퓨터의 sourcetree와 githup이 연결된 것을 확인할 수 있다. 이제 원격저장소에 버전동기화를 실행해보자(push)

이후에 githup 사이트에 가서 확인해 보면, 버전관리가 동기화(push) 된 것을 확인할 수 있다.


commit을 보면 3번 commit되었다는 정보와, 해당부분을 클릭해서 들어가보면, 3번의 commit의 내용을 살펴볼 수 있다.

셋째, githup에서 Sourcetree로 당겨오기, PULL


만약 githup에서 새로운 버전이 생성되고 내컴퓨터저장소에 있는 버전과 다르다고 할 때, 해당 내용을 동기화(내려받기)해야 한다면 pull해주면 되는데 방법은 간단하다. 사진에서 보는 "풀"버튼을 누르면 된다.

넷째, 다른 사람과 협업하기


전달받은 URL로 들어가서 code를 누르고 복제할 저장소의 URL을 복사한다.



원본URL에는 복사한 URL주소를, 목적지 경로에는 해당 저장소를 저장할 폴더를 기록해준다. 이때 빈폴더가 아니면 저장소가 생성되지 않으니 주의하자.

이러한 식으로 다른사람의 원격저장소로부터 pull하여 내 저장소와 연결시킬 수 있다.

저장소의 비밀금고(.gitignore)

내저장소에 있는 파일전부를 공유할 경우, 보안상의 문제에 직면할 수 있다. 저장소로 공유하지만 개인적인 파일들에 대해서는 제한시켜서 작업하고 싶을 때가 있을 것이다. 이럴 때 사용할 수 있는 저장소의 금고인 ignore에 대해서 학습해보자.

Spring Boot 프로젝트를 실행하면, 자동으로 생성되기도 하지만, 실수로 삭제했다면 .gitignore을 생성하여, 보안상 민감한 부분들이 commit되지 않도록 설정해주어야 한다.

author. EDWIN
data. 23/01/30

profile
신학전공자의 개발자 도전기!!

0개의 댓글