■ Key words
ㆍGit
ㆍGithub
ㆍTerminal(터미널)
ㆍPython Artifical Environment(가상환경)
ㆍAnaconda
■ 주요내용
ㆍ가상환경 : 운영체제와 이를 사용하는 환경이 다르기 때문에 사용환경과 개발환경을 동일하게
맞추기 위해 사용하는 것.(i. e. python, numpy, pandas의 개발환경과 사용환경의 version 등)
각 가상환경 마다 python 및 package version을 별도로 관리함.
- System Package : python이 설치될 때 같이 설치되는 python standard library에 속해
python이 사용하는 package
- Third party libraries : System package와는 다르게 별도로 추가 설치하는 library
⇒ 설치환경과 운용환경이 다를 경우 명령어가 달라 오류가 발생하거나 작동이 안 할 수 있음
ㆍGit : Version-Control System. 수정한 파일을 저장하여 돌아올 수 있는 중간 save 지점.
- CLI(Comand Line Interface, 명렬 줄 인터페이스) : 가상 터미널 또는 텍스트 터미널을 통해 사용자와
컴퓨터가 상호 작용하는 방식
- GUI(Graphical User Interface, 그래픽 사용자 인터페이스) : 사용자가 편리하게 사용할 수 있도록
입출력 등의 기능을 아이콘 따위의 그래픽으로 나타낸 것.
- Terminal(단말기) : 운영체계 커널과 연결 가능한 문자 입력과 출력이 가능한 하드웨어/소프트웨어
ㆍGithub : 온라인 상으로 Git을 저장할 수 있게 해주는 site. 본인이 다른 컴퓨터에서 접속하거나
다른 사람이 접속할 수 있도록 해줌(cloud).
- Repository : 프로젝트를 저장하고 관리하는 단위. 명칭/소개/공개설정/(초기파일) 설정 가능.
* .gitignore를 통해 접근/수정이 불가능한 파일 설정 가능
■ Session note
ㆍMaster branch에서 git init을 통해 git 시작
* git commit을 하기 전에 git add를 하게 됨(암기)
ㆍgit commit : branch를 만들어 수정을 할 수 있음
ㆍbranch의 수정은 master branch에 수정사항이 반영되지 않으므로 merge를 해야 함
ㆍgit checkout : git branch checkout을 통해 해당 branch로 이동
ㆍgit status : 변화한 상태 목록이 나타남
ㆍgit add : 해당 변화를 반영함
ㆍgit log : 변화한 목록이 나옴 ⇒ 각 버전의 정보를 확인하고 돌아갈 수 있음
ㆍpip install --help : 약어 설명
ㆍcd : change directory
ㆍgit comit -m "남기고 싶은 내용"
ㆍconda create --name hello_conda python=3.8
ㆍ(base) 상태에서 activate을 하면 base 위에 가상환경을 하나 더 만드는 것이므로, deactivate하고 진행해야 한다
ㆍ붙여넣기 : shift + insert / 우클릭
ㆍgit clone + fork한 주소
* 과제설명
ㆍcd test1(폴더명)
ㆍgit init : 변화 추적을 시작하겠다는 명령어
ㆍls : list - part_1.py 있을 것
ㆍgit status : 변화 확인
ㆍ(base)상태에서 conda env list : 지금까지 내가 생성한 가상환경 리스트 확인
ㆍconda deactive : base에서 빠져나오기
ㆍconda activate 가상환경명 : 해당 가상환경에 들어가기
ㆍpytest submit install 붙여넣기(shift + insert)
ㆍpip list \ grep pytest : 설치된 list 확인
ㆍ(디렉토리 바꾸기); mkdir(make directory)
ㆍgit clone 주소 : fork한 주소
ㆍls : list 확인
ㆍcd ds-sa-simple-git-flow : change directory 후 과제 진행하기
ㆍmerge할 경우 branch에서 main으로 이동한 후 merge 해야 한다
* merge 한 후 pull request 하기
ㆍpart1은 혼자 해보기 / 과제는 가상환경에서 계속 진행해도 됨
* git checkout : 그 당시로 돌아가는 것; git log를 하면 다른 상태가 출력됨
ㆍcp A B : A에서 B로 copy
ㆍmv A B : A에서 B로 파일/폴더 보내기
■ 주요함수
ㆍ설치 위치 확인
# python system package 설치 위치 확인
import sys
print(sys.prefix)
# site package 설치 위치 확인
import site
print(site.getsitepackages())
ㆍ 가상환경의 활용
# 프로그램 version 확인
[프로그램명] --version
# anaconda 가상환경 목록 확인
conda env list
# anaconda 가상환경 생성
conda create -n '[가상환경명]'
# 가상환경 비활성화
conda deactivate
# 가상환경 활성화
conda activate '[가상환경명]'
# 가상환경 삭제
conda env remove --name '[가상환경명]'
ㆍGit의 활용
# Git 설치 유무 및 version 확인
git --version
# 실행된 directory에 Git 시작 및 버전 관리 시작 / .git 폴더 생성
git init
# Git 삭제(.git 폴더 삭제)
rm -rf .git
# Git의 상태(변경사항, 추적 대상, Branch) 확인
git status
# 변화 추적대상 추가
git add [변화대상명] 또는 git add .(변화 전부 추적)
# 변화 상태 저장 및 코멘트 남기기
git commit -m "git commit message"
# 원격으로 연결된 repository 확인
git remote -v
# 원격으로 repository 연결
git remote add [지정할 명칭] [연결 대상 주소]
# 원격으로 연결된 repository 해제
git remote remove apple
# 특정 주소에서 변경된 사항 가져오기
git fetch [가져올 원격 주소] [브랜치명]
# 변경된 브랜치 합치기
git merge [브랜치명]
# 특정 주소에서 변경된 사항을 가져와 브랜치를 합치기(git fetch + git merge)
git pull
ㆍGithub의 활용
# github에 있는 repository 복사하기
git clone [repository 주소]
# git과 gtihub repository 연결하기
git remote add [명칭] [repository 주소]
ㆍ과제제출
# 이미 실행되어 있는 가상환경을 끄기(main)
conda deactivate
# python 3.8 version의 가상환경을 conda로 구축
conda create —n [가상환경명] python=3.8
# 위에서 만든 가상환경 가동
conda activate [가상환경명]
# 현재 위치 확인
pwd
# 가상환경과 파일들을 함께 관리하기 위해 가상환경 폴더로 이동
cd [가상환경명]
# 과제를 [가상환경명] 폴더에 clone / clone 시 해당 repository 명칭의 폴더 자동 생성 후 다운로드
git clone [github fork한 repository 주소.git]
# 과제 제출을 위해 필요한 플러그인을 설치
pip install git+https://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@github.com/aib-contents/pytest-submit-plugin
# requirements.txt가 있는 [repository명] 폴더로 들어가기
cd [repository명]
# 과제에 필요한 패키지 설치
pip install -r requirements.txt
# 채점 프로그램 작동 확인 / 제출하기/ 점수 확인 / 그동안의 점수 확인 // MAC은 winpty 없이 입력
(winpty) python -m pytest (--submit / --score / --all)
# git의 상태(변경사항, 추적 대상, Branch) 확인
git status
# git의 전체 변경사항 저장
git add .
# 기존의 branch 불러오기 / 기존의 branch 없을 경우 새로운 branch 생성
git checkout -b [명칭]
# 생성된 브랜치 확인
git branch
# 변경내용 git으로 저장 및 메모 남기기
git commit -m "메모"
# 새로 만든 branch github에 잔디 심기
git push [본인 깃헙 pull request 주소] [새로 만든 branch 명]
■ Reference
ㆍCLI, Terminal, Shell, REPL : https://www.44bits.io/ko/keyword/command-line-interface-cli-shell-and-terminal
ㆍgit bash로 파일 내용 수정하기 : https://seonkyukim.github.io/git-tutorial/basic-cmd/
02: 기본적인 명령어
터미널을 열어보십시오. 윈도우 사용자께서는 git bash의 사용을 권해드립니다. 터미널을 처음 사용하시면 이것이 무엇인지조차 모르실 겁니다. 간단하게 mac에서는 finder, 윈도우에서는 윈도우탐
seonkyukim.github.io
ㆍ 자주 사용하는 git 명령어 :
자주 사용하는 기초 Git 명령어 정리하기
제가 서비스를 개발하면서 자주 사용하던 git 명령어를 정리해보려고 합니다.
pks2974.medium.com
ㆍ자주 사용하는 CLI(Command-line interface) 명령어 :
https://itholic.github.io/linux-basic-command/
[linux] 리눅스 기본 명령어/자주 쓰는 명령어
리눅스 기본 명령어
itholic.github.io
'Data Science > 3. 데이터 엔지니어링' 카테고리의 다른 글
[n322]python 활용(2) (0) | 2021.07.17 |
---|---|
[n321]Python 활용(1) (0) | 2021.07.17 |
[n314]SQL(Structured Query Language)(2/2) (0) | 2021.07.13 |
[n313]SQL(Structured Query Language)(1/2) (0) | 2021.07.12 |
[n312]Docker (0) | 2021.07.12 |