
Q . Terminal & CLI란?
A . Terminal은 글자 기반으로 명령을 전달할 수 있는 어플리케이션이다.
CLI는 Command Line Interface로 글자 기반으로 명령과 결과를 진행하는걸 말한다.
- 그래픽 기반인 GUI는 Graphical User Interface로 윈도우 탐색기를 말한다. 클릭과 마우스로 명령을 전달하는걸 말한다.
< CLI >
< GUI >
- Mac / Linux는 기본 터미널 혹은 iterm 을 이용해서 CLI를 이용
- Window는 git bash 를 설치 후 CLI 를 이용
$ pwd : 현재 경로를 나타내는 명령어$ mkdir {폴더명} : 폴더(디렉토리)를 생성하는 명령어$ cd {폴더명} : 폴더에 들어가는 명령어$ ls : 현재 디렉토리 안에 파일 및 폴더 목록을 출력$ ls -l : 상세정보 출력$ ls -a : 숨긴 파일까지 표시 ( 모두 표시 )$ ls -al : 숨긴 파일까지 상세정보 포함해서 출력$ cat {파일명} : 파일을 터미널에 출력Q . Python 가상환경을 쓰는 이유는?
A . 패키지의 버전을 관리하고 충돌을 방지하기 위함이다.
python --version : python 버전 확인pip list : 패키지 리스트 확인
의존성 충돌 : 사용할 패키지를 개발한 패키지 간에서도 일어난다.
파이썬을 설치하게 되면 기본으로 같이 설치되는 패키지들 : standard library, system packages, site packages
# 패키지 디렉토리 확인
import sys
print(sys.prefix)
# site packages 확인
import site
print(site.getsitepackages())
# site packages 와 같은 경우에는 리스트로 결과가 보여집니다.
# 이는 여러 디렉토리에서 패키지들을 관리하고 있다는 뜻이다.
Site packages 디렉토리 하나를 열어보면 설치되어 있는 파이썬 패키지들이 나열되어 있다.
하지만, 각 패키지들의 버전은 나와있지 않다.
파이썬에서 직접 관리하는 파이썬 표준 라이브러리는 별 문제가 되지 않는다.
하지만, 추가로 설치하는 third party libraries는 곤란한 상황이 발생한다.
디렉토리에서 패키지 버전 번호를 따로 관리하지 않기 때문에,
하나의 패키지의 버전 1, 버전 2 둘 다 동일한 이름으로 저장이 된다.
또한, 사용할 때에는 이름으로만 불러오기 때문에, 버전을 구별하지 못한다.
conda --version : conda 버전 확인conda env list : conda 가상환경 리스트 확인conda create --name 'practice' python=3.8 : practice 이름의 가상환경, python 3.8 버전으로 생성conda activate 'practice' : practice 가상환경 실행conda deactivate : 가상환경 종료conda env remove --name 'practice' : practice 가상환경 삭제conda의 가상환경은 중첩되서 실행될 수 있으니
conda deactivate를 해줘야 한다.
Q . conda와는 다른 가상환경 도구들은? 다른 점은?
A . 가상환경을 만들어주는 다른 레퍼런스는pipenv,virtualenv가 있다.
다른점은,
Github : 원격 코드 저장소
Git : 버전 관리 시스템 ( Version-Control System )
$ git clone https://github.com/{유저이름}/ds-sample-git
$ rm -rf .git : 깃 지우는 방법. 모든 폴더와 파일들이 삭제된다.
.git이라는 폴더를 제거하면 된다.GUI로 지우는 것이 좋다.$ git remote add origin https://github.com/{유저이름}/ds-sample-git
$ git remote -v : 현재 어떤 원격 레포 주소들과 연결되어있는지 본다.$ git remote add apple https://github.com/codestates/apple.git$ git remote remove apple : 원격 주소를 지우는 방법git init : git에게 이 레포지토리를 관리할거야 라고 알려주는 역할
$ git status : 깃의 현재 상태를 보고 싶을 때 사용
$ git commit -m "git commit message"
git add를 통해서 staged 상태로 만들고git commit을 통해 커밋한다.git pull : git fetch와 git merge를 합친 명령어이다.
$ git fetch apple main : apple이라는 원격 주소 이름의 main브랜치가 깃헙에서 업데이트 되어 변경된 내용을 가지고 오고 싶을 때 사용
$ git merge 브랜치_이름 : 작업하고 있는 브랜치를 합치는 방법
Q . 깃헙의 브랜치는 뭘까요? 브랜치 이동은 어떻게 하는걸까요?
A .
📣 Story - 오늘 기본적인 Git 사용방법에 대해 알아보았습니다.
Git 은 리눅스 토발즈(Linus Benedict Torvalds)라는 사람이 자신의 파일 및 코드를 관리하기 어려워 거의 혼자 개발하였습니다.
이 리눅스 토발즈라는 사람이 현대 컴퓨터에서 굉장히 중요한 역활을 하는 사람입니다.
어떤 엔지니어링 기술들을 만들었는지 알아볼까요?
📣 기술 - Git 의 내부 구성이 더 궁금하신 분들이 있으실 겁니다 !
Git 의 기본적인 사용법을 알아보았으니 좀 더 구체적인 사용방법을 알아보기 위해선 Git 의 기본요소를 구성하는
스냅샷을 알아볼까요?Git 의 기본 작동은 모든 작업을 스냅샷으로 보고, 사진첩을 이동하듯 작동합니다.
- 스냅샷의 의미를 알아보고, 기술적으로 Git 에서는 스냅샷을 어떻게 표현하고 있는지 확인해보시는 것을 추천드립니다!
- ex.
git checkout EICKS8은 무엇을 의미할까요?