다시 이음

Data Engineering - CLI, Git 본문

AI 일별 공부 정리

Data Engineering - CLI, Git

Taeho(Damon) 2021. 9. 10. 00:13

안녕하세요.

 

오늘은 데이터 엔지니어링의 기초인 터미널, CLI, Git을 사용하는 방법을 알아보려고 합니다.

 

이번 한 달은 이론이 아닌 실습이나 Trouble이 생긴 사례를 공유하는 걸 위주로 해야할 거 같아요.

 

그래도 이해를 위해 짧은 설명을 하면서 진행을 해볼게요.

 

CLI 란?

 

명령 줄 인터페이스(Command-line interface, CLI, 커맨드 라인 인터페이스) 또는 명령어 인터페이스는 가상 터미널 또는 터미널을 통해 사용자와 컴퓨터가 상호 작용하는 방식을 뜻합니다.

즉, 작업 명령은 사용자가 컴퓨터 키보드 등을 통해 문자열의 형태로 입력하며, 컴퓨터로부터의 출력 역시 문자열의 형태로 주어집니다.

 

콘솔, 터미널 그리고 쉘

 

콘솔

 

서버의 로컬 장치에서 직접 명령어를 작성할 수 있는 입출력 장치. 콘솔이 물리적인 장치라면 터미널은 원격제어 환경까지 포함하는 더 넓은 의미라고 할 수 있습니다.

 

터미널

 

서버의 로컬 또는 원격으로 접속할 수 있는 콘솔을 구현한 소프트웨어

커멘드를 입력하는 쉘을 실행하기 위한 포장(wrapper) 프로그램

 

 

 

실제로 명령어를 전달하고 결과를 전달받는 프로그램

한마디로 컴퓨터에게 명령을 하기 위해 컴퓨터 언어로 번역시켜주는 번역기 같은 느낌입니다.

 

 

Git?

Git이란 소스코드를 효과적으로 관리하기 위해 개발된 '분산형 버전 관리 시스템'입니다.

 

 

Git을 시작하려면?

 

Git은 위에 말한 것과 같이 분산형 버전 관리 시스템으로 혼자 혹은 협업을 할때, 효과적으로 소스코드를 공유하고 디벨롭하기 위해 사용합니다.

 

그렇다면 어떤 것부터 시작하면 될까요?

 

1. 프로그램 설치 및 설정

 

MAC os

- homebrew 설치하고 git 설치 확인하기

- Visual Studio Code (VSCode) 설치하기 ( https://code.visualstudio.com )

- Anaconda 설치하기 ( https://www.anaconda.com/products/individual )

 

일단은 설치하는 방법같은 경우는 구글링을 통하면 상세히 기술 되어 있기 때문에 설치방법은 논하지 않겠습니다.

 

위의 프로그램들을 설치하고 유튜브에서 'Git 시작하기' 와 같은 키워드를 사용해서 기초 사용법을 알려주는 영상을 참고하면 좋을 것 같아요.

 

2. 가상환경 설정하기

 

위의 프로그램들을 설치하였다면 mac os 기준 '터미널'을 찾아서 실행해보세요.

 

가상환경이란.. 우리가 사용할 프로그램들의 세팅을 해놓는 곳이라고 생각하시면 됩니다.

여러 프로그램들의 버전마다 사용할 수 있는 기능이 있고,없고, 우리가 개발할 프로그램에는 어떤 버전만 호환이되는 등 정해진 환경이 있어야 할 때가 있습니다.

 

그런데, 가상환경이 없다면 우리는 한가지 작업을 할때마다 컴퓨터 전체의 세팅을 바꿔줘야하니 너무나 비효율적입니다.

 

그렇기에 우리는 여러가지 세팅 값을 바꿀 수 있는 가상환경을 설정해줍니다.

 

conda activate # 아나콘다 불러오기
conda env list # 아나콘다 가상환경 리스트 확인하기
conda create --name '환경이름' python=3.8 #'이름' 가상환경 파이썬 3.8버전으로 만들기
conda activate '환경이름'#'환경이름'환경 시작하기
conda deactivate # 실행한 환경 벗어나기
conda env remove --name '환경이름' # 환경 지우기

 

 

3. Git - Git hub

git은 우리가 로컬(우리의 컴퓨터)에서 실행하는 부분이고 github는 Remote(원격) 공유를 위해 upload하는 것입니다.

 

순서를 잠시 보자면

1. 다른 사람의 레포지토리에서 우리는 Fork를 통해 우리의 레포지토리로 복사를 해오게됩니다.

2. 복사한 레포지토리를 로컬에서 사용하기 위해 Clone을 통해 내려받습니다.

3. File1을 우리가 수정을 했다고 가정해볼게요.

4. 바로 업로드할 수 있는 것이 아니라 Stage Area라는 곳으로 File1(수정)을 저장(git add)해줍니다.

5. 이 파일을 다시 Local Repository에 commit 해줍니다.

6. Push를 통해 복제된 우리의 github repository에 업로드를 합니다.

7. Pull request를 통해 최초의 레포지토리에 반영합니다.

 

하나하나의 과정을 깊숙히 이해하기보단 전체적인 플로우를 이해하는 게 좋습니다.

 

과정에 사용되는 코드를 하나하나 살펴보겠습니다.

 

git clone https://github.com/{유저이름}/{repository이름}-git # github에서 local로 받아오기
rm -rf .git # clone한 모든 파일 삭제하기(되돌릴 수 없습니다.)
git remote add origin https://github.com/{유저이름}/{repository이름}-git
#로컬에서 처음 만든 파일일 경우 remote 레포지토리와 연결해주기
git add # Stage area로 올리는 것, 깃이 어떤 파일들을 기록할지 지정해주는 명령어
git status # 현재 어떤 파일들을 추적하고 있는지, 파일들이 어떤 상태인지, 어떤 브랜치에서 작업하는지 등 알려줍니다.
git commit # 커밋은 사진을 찍는 것처럼 그 순간을 기록하는 것
git commit -m # 커밋하면서 메세지 추가하는 방법
git remote -v # 현재 어떤 원격 레포 주소들과 연결되어있는지
git remote add {원격주소이름} https://github.com/주소
#원격 주소를 추가하는 방법, 어떤 이름으로 저장할지 입력하고 어느 주소와 연결이 되는지 명시
git remote remove {원격주소이름} # 원격 주소를 지우고 싶다면 remove 를 사용
git fetch apple main 
#'apple' 이라는 원격 주소 이름의 'main' 브랜치가 깃헙에서 업데이트가 되어서 변경된 내용을 가지고 오기
git merge 브랜치_이름 # 브랜치 합치기
git pull # fetch와 merge의 혼합
git stash # 작업내용 임시저장하기

 

참고하시면 좋은 사이트

https://backlog.com/git-tutorial/kr/intro/intro2_4.html

 

누구나 쉽게 이해할 수 있는 Git 입문~버전 관리를 완벽하게 이용해보자~ | Backlog

누구나 쉽게 알 수 있는 Git에 입문하신 것을 환영합니다. Git을 사용해 버전 관리를 할 수 있도록 함께 공부해봅시다!

backlog.com

https://velog.io/@delilah/GitHub-Git-%EB%AA%85%EB%A0%B9%EC%96%B4-%EB%AA%A8%EC%9D%8C