쏠쏠한 TIP

Git 설치, 버전 관리 및 '원격 저장소 - 로컬 저장소' 연결

데욱 2023. 11. 24. 14:50

Git을 사용해야 하는 이유? 버전 관리 

더보기
  1. 변경 사항 추적: Git을 사용하면 소스 코드의 변경 사항을 쉽게 추적하고 문서화할 수 있다. 이는 코드의 진화를 이해하고 특정 변경 사항이 언제 이루어졌는지 알아내는 데 도움이 된다.
  2. 협업 용이성: 여러 개발자가 동시에 작업할 때, Git은 코드의 동시 변경을 관리하고 통합하는 데 유용하다. 이는 팀원 간의 효율적인 협업을 가능하게 한다.

  3. 분산 개발: Git은 분산 버전 관리 시스템이다. 이는 네트워크 또는 중앙 서버에 접속하지 않고도 로컬에서 작업을 계속할 수 있음을 의미합니다. 작업은 나중에 중앙 리포지토리와 동기화할 수 있다.

  4. 백업과 복구: Git은 프로젝트의 모든 버전을 저장한다. 이를 통해 필요할 때 이전 버전으로 쉽게 롤백하거나 손실된 데이터를 복구할 수 있다.

  5. 브랜치 및 병합: Git의 브랜치 기능은 개발자가 기본 코드 베이스에서 독립적으로 기능을 개발하거나 실험할 수 있게 해준다. 개발이 완료되면, 이러한 변경 사항을 주 코드 베이스로 안전하게 병합할 수 있다.

  6. 코드 리뷰와 품질 관리: Git을 사용하면 코드 리뷰 과정을 통합하고, 변경 사항에 대한 피드백을 제공하며, 코드 품질을 유지할 수 있다.

  7. 이력 관리: 프로젝트의 전체 이력을 관리할 수 있으므로, 언제든지 과거의 특정 시점으로 돌아갈 수 있다. 이는 문제 해결 및 오류 분석에 특히 유용하다.

  8. 보안: Git은 변경 사항을 커밋할 때 마다 체크섬을 생성하여 데이터 무결성을 보장한다. 이는 코드 손상이나 손실의 위험을 줄여준다.

 

쉽고 빠른 개념 이해를 원한다면, 아래 유튜브 영상을 추천한다. (1.5배속 추천)

 

Git1 - 1. 수업 소개 - YouTube

‘생활코딩’ - Git CLI 버전관리편 youtube playlist:

 


필자는 요즘 교수님이 주신 딥러닝 코드를 로컬에서 다뤄가며 정리 중이다.(colab X)

이를 Git의 백업과 복구, 커밋 등의 기능을 활용하기 위해서,

Git 원격 저장소에 업로드 하며 버전 관리를 할 예정이다. 

 

필자도 매번 구글에 물어볼 수 없기에... 한 번 정리하고자 한다.

일단 os에 git이 설치 되어있어야 한다. 설치를 해보자!

 

필자의 os

Windows 11 및 리눅스(우분투 20.04)

 

Git 설치 

아래 사이트 들어가면 너무 쉽게 설치 할 수 있다.

https://git-scm.com/book/ko/v2/%EC%8B%9C%EC%9E%91%ED%95%98%EA%B8%B0-Git-%EC%84%A4%EC%B9%98

 

Git - Git 설치

이 책은 Git 2.0.0 버전을 기준으로 썼다. 대부분의 명령어는 그 이전 버전에서도 잘 동작하지만, 몇 가지 기능은 아예 없거나 미묘하게 다를 수 있다. Git의 하위 호환성은 정말 훌륭하기 때문에 2.0

git-scm.com

 

리눅스(Linux) Git 설치

터미널에서 정말 간단하게 설치 가능하다. [우분투 전용입니다!!! 보통 리눅스는 우분투를 사용하니까...]

위의 사이트에서 터미널에 입력할 코드를 하나 긁어오면 된다.

sudo apt install git-all

 

맥(Mac)의 경우

맥 또한 간단하게 설치 가능하다.

 

1. homebrew 다운로드

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

 

다운로드가 잘 됐는 지 확인한다.

brew help

 

오류가 뜬다면?

eval $(/opt/homebrew/bin/brew shellenv)

 

2. git 설치

brew install git

 

윈도우 Git 설치

https://git-scm.com/download/win

 

Git - Downloading Package

Download for Windows Click here to download the latest (2.43.0) 32-bit version of Git for Windows. This is the most recent maintained build. It was released 3 days ago, on 2023-11-20. Other Git for Windows downloads Standalone Installer 32-bit Git for Wind

git-scm.com

사이트를 들어가서 Click here to download를 선택!

응용 프로그램이 나오면 그냥 쭉 계속 누르면 된다.

 

그리고 각자 터미널에서 Git이 잘 설치됐는지 확인하자.

git --version

 


Git '원격 저장소 - 로컬 저장소' 연결 

자, 그럼 본격적으로 로컬 저장소와 원격 저장소를 연결해 보자.

 

아래 사진은 흔하게 볼 수 있는 로그인된 Git 화면이다.

 

 

 

1. Repositories생성

Repositories로 들어가서 새로운 원격저장소를 생성한다.

 

 

 

오른쪽 초록색 New 버튼을 클릭해면 다음과 같이 창이 뜨는데,

 

 

Repository name, Description, Public  , Add a README file  설정을 완료한다.

 

2. 로컬 폴더 경로 설정

윈도의 경우, Git Bash나 터미널로 들어가서 올리고자 하는 로컬폴더의 경로로 들어간다.

나머지 os도 터미널 환경에서 하면 된다.

 

cd [경로]

cd [경로]

경로를 cd [경로]를 이용해서 입력하는 방법도 있고
Open Git Bash here이나 터미널에서 열기로 바로 들어가게 하는 방법도 있다.

 

3. Git 정보 등록

git config --global user.name "내 이름"
git config --global user.email "내 메일 주소"

 

 

4. git clone

이제부터 아주 쉽게 원격 저장소와 등록하는 방법을 사용하자.

github 사이트 내에서 생성된 원격 저장소의 HTTPS를 복사한다.

 

오른쪽 상단의 Code를 클릭해서 HTTPS를 복사한다.

 

복사한 HTTPS를 다음 코드에 붙여 넣는다.

git clone [저장소 HTTPS]

이번에는 터미널로 진행해 보았다. 로컬 폴더 안에 원격 저장소가 생성된다.

 

원격저장소의 이름과 같은 폴더가 생성

 

생성된 폴더 안에 들어온 다음에, 이것이 원격저장소임을 알려줘야 한다.

하지만 우리는 그 작업이 필요 없다. WHY? git clone을 했기 때문!

아래의 작업이 필요가 없다.

git remote add [origin] [깃허브주소]
# 필요없음

 

자동적으로  깃허브 레포지토리를 'origin'이라는 이름의 원격 저장소로 설정하게 된다.

아래 코드를 통해 성공적으로 됐는지 확인할 수 있다.

git remote -v

 

5. add, push

그 후 생성된 원격 저장소 안에 원하는 파일을 넣어준다.

 

 

그리고 들어온 파일들을 add 해준다.

git add .

 

아래 코드를 통해 잘 들어갔는지 확인한다.

git status

 

자, 이제 업로드하는 파일의 버전 관리를 위해 커밋을 달아준다.

(영어로 달아주는 게 더 좋다)

git commit -m "커밋메시지"

 

그 후 github 내의 원격 저장소에 push 한다.

git push origin main

 

제시된 Git 명령어 실행 결과를 보면, 문제는 없지만 몇 가지 경고가 있다.

대용량 파일 문제 때문이니 대충 넘어가면 된다.

하지만, 이런 warning이 뜨는 경우 압축해서 올리는 것이 현명하다고 할 수 있다. 

 

그 후에 github 원격 저장소로 가서 새로고침을 하면, 정상적으로 파일이 등록된 것을 확인할 수 있다.

(처음 하는 것이라면 아이디 확인 팝업이 뜰 수 있다.)

 

 

아래 사이드에서 참고해보자!

wook2jjang (github.com)

 

wook2jjang - Overview

wook2jjang has 2 repositories available. Follow their code on GitHub.

github.com