ํฐ๋ฏธ๋๊ณผ CLI
- ํฐ๋ฏธ๋ : ๋ช ๋ น์ ์ ๋ฌํ ์ ์๋ ์ดํ๋ฆฌ์ผ์ด์
- CLI : ๊ธ์ ๊ธฐ๋ฐ์ผ๋ก ๋ช ๋ น์ ์ ๋ฌํ ์ ์๋ ์ธํฐํ์ด์ค(์๋ ์ ๋ง์ฐ์ค ์์ด ํค๋ณด๋๋ก๋ง ์ปดํจํฐ๋ฅผ ๋ค๋ค๋ค.)
- GUI : ๊ทธ๋ํฝ ๊ธฐ๋ฐ์ผ๋ก ๋ช ๋ น์ ์ ๋ฌํ ์ ์๋ ์ธํฐํ์ด์ค(์ฐ๋ฆฌ๊ฐ ๋ง์ฐ์ค ์ฌ์ฉํ๋ ๊ฒ๋ GUI)
CLI๊ฐ ์ค์ํ ์ด์
- ์์ง๋์ด๋ง์ ์ํ ๊ฐ๋ฐ ๋๊ตฌ์ ํ๊ฒฝ์ ์ฃผ๋ก CLI๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๋ง๋ค์ด์ก์
CLI์ Top5 ๊ธฐ๋ณธ ๋ช ๋ น์ด
- $ pwd : ํ์ฌ ๊ฒฝ๋ก๋ฅผ ๋ํ๋ด๋ ๋ช ๋ น์ด์ ๋๋ค.
- $ mkdir {ํด๋๋ช }: ํด๋(๋๋ ํ ๋ฆฌ)๋ฅผ ์์ฑํ๋ ๋ช ๋ น์ด์ ๋๋ค.
- $ cd {ํด๋๋ช } : ํด๋์ ๋ค์ด๊ฐ๋ ๋ช ๋ น์ด์ ๋๋ค.
- $ ls : ํ์ฌ ๋๋ ํ ๋ฆฌ ์์ ํ์ผ ๋ฐ ํด๋ ๋ชฉ๋ก์ ์ถ๋ ฅํฉ๋๋ค.
- $ ls -l : ์์ธ์ ๋ณด ์ถ๋ ฅ
- $ ls -a : ์จ๊ธด ํ์ผ๊น์ง ํ์
- $ ls -al : ์จ๊ธด ํ์ผ๊น์ง ์์ธ์ ๋ณด ํฌํจํด์ ์ถ๋ ฅ
- $ cat {ํ์ผ๋ช } : ํ์ผ์ ํฐ๋ฏธ๋์ ์ถ๋ ฅํฉ๋๋ค.
๊ฐ์ํ๊ฒฝ์ด๋
- ๊ฐ์ํ๊ฒฝ : ์ฝ๋๊ฐ ์ ๋๋ก ๋์ํ ์ ์๋๋ก ํ๊ฒฝ์ ์ ๊ณตํด์ฃผ๋ ์ญํ (์์ ์ค๊ฐ์)
์ ๊ฐ์ํ๊ฒฝ์ด ํ์ํ ๊น?
- ํจํค์ง : ํ๋์ ํ๊ฒฝ์๋ ํจํค์ง๋น ํ๋์ ๋ฒ์ ๋ง์ด ์ค์น๋ ์ ์๋ค.
- ํจํค์ง ๊ฐ ์ถฉ๋ ๋ฐฉ์ง ex) ์ดํ๋ฆฌ์ผ์ด์ 1์ ํ๋ค์ค 1.1.2 ์ด์์ด ์ค์น๋์ด์ผํจ. ์ดํ๋ฆฌ์ผ์ด์ 2๋ ํ๋ค์ค 1.1.2 ๋ฏธ๋ง์ด ์ค์น๋์ด์ผํจ
์ฆ ์์๊ฐ์ ์ํฉ์ ์ดํ๋ฆฌ์ผ์ด์ 1๊ณผ 2๋ฅผ ๋์์ ๋ง์กฑํ ์ ์๋ ํ๊ฒฝ์ ์์. ๋ฐ๋ผ์ ํ๊ฒฝ์ ๋๋ ์ ์์ ํด์ผํ๋ค.
์ถ๊ฐ) ๋ ๋์๊ฐ ์ฌ์ฉํ ํจํค์ง๋ฅผ ๊ฐ๋ฐํ ํจํค์ง ๊ฐ์์๋ ์ถฉ๋์ด ๋ฐ์. ์ด๋ฅผ ์์กด์ฑ ์ถฉ๋ ์ด๋ผ๊ณ ํฉ๋๋ค.
ํด๊ฒฐ์ฑ
- ๋ ๋ฆฝ์ ์ธ ํ๊ฒฝ์ ํตํด์ ์ถฉ๋์ ํด๊ฒฐ
- ํ๋ก์ ํธ๋ง๋ค ํ๋์ ํ๊ฒฝ์ ๋ง๋ค๋๋ก ํฉ์๋ค.
ํจํค์ง ์ค์น ์๋ฆฌ
- ์ด์์ฒด์ ๋ ๋ค์ํ์ง๋ง ๊ฐ ์ฒด์ ๋ฅผ ์ฌ์ฉํ๋ ํ๊ฒฝ๋ ๋ค์
- ์ต๋ํ ๊ฐ๋ฐ ๋น์์ ์์ ํ๋ ํ๊ฒฝ์ ๊ตฌํํด์ ๋ฌธ์ ๋ฅผ ์ค์ด๋ ๊ฒ ์ฆ, ๊ฐ๋ฐ ๋น์์ ์๋์ด ๋์๋ค๋ฉด ๋ฐฐํฌ ํ๊ฒฝ์์๋ ๊ฐ๋ฐ ํ๊ฒฝ๊ณผ ๋น์ทํ๊ฒ ๋ง๋ค์ด ์ต๋ํ ์ ์๋ํ ์ ์๋๋ก ๋์์ฃผ๋ ๊ฒ
ํจํค์ง
ํ์ด์ฌ ์์
- system packages : ํ์ด์ฌ ์ค์น ์ ๊ฐ์ด ์ค์น๊ฐ ๋๋ ํจํค์ง๋ค. -> ํ์ด์ฌ ํ์ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ
- site packages : ํ์ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ์๋ ์ 3์ ํจํค์ง๋ค ex) pandas, numpy ๋ฑ
ํจํค์ง ์ถฉ๋ ์์ธ
- WHERE - ํจํค์ง๋ค์ด ์ค์น๋๋ ์ฅ์
# ํ์ด์ฌ system packages๊ฐ ์ด๋์ ์ค์น๋์ด์๋์ง ํ์ธ
import sys
print(sys.prefix)
# site packages๊ฐ ์ด๋์ ์ค์น๋์ด์๋์ง ํ์ธ
import site
print(site.getsitepackages())
- HOW - ์ค์น ๋ฐฉ์
- site ํจํค์ง : ๊ฐ ํจํค์ง๋ค์ ๋ฒ์ ๋ฒํธ๋ ์๋ณด์. ๋๋ ํ ๋ฆฌ์์ ํจํค์ง ๋ฒ์ ๋ฒํธ๋ฅผ ๋ฐ๋ก ๊ด๋ฆฌํ์ง ์๊ธฐ ๋๋ฌธ์ ๋์ผํ ํจํค์ง์ ๋ฒ์ 1์ด๋ ๋ฒ์ 2 ๋ ๋ค ๋์ผํ ์ด๋ฆ์ผ๋ก ์ ์ฅ๋จ. ์ฆ ์ฌ์ฉ ์์๋ ์ด๋ฆ์ผ๋ก๋ง ๋ถ๋ฌ์ค๊ธฐ ๋๋ฌธ์ ๋ฒ์ ์ ๊ตฌ๋ณํ์ง ๋ชปํจ
๋ฐ๋ผ์ ํ๋ก์ ํธ๋ง๋ค ๊ฐ์ํ๊ฒฝ์ ๋ง๋ค์ด์ ๋ฐ๋ก ์ด๋ฐ ํจํค์ง ๋ฒ์ ๊ด๋ฆฌ๋ฅผ ํ๋ ๊ฒ
์ฝ๋ค ๊ฐ์ํ๊ฒฝ
- ์๋์ฝ๋ค๋ ๋ฐ์ดํฐ ๊ณผํ์์ ์ฌ์ฉ๋๋ ํด๋ค์ ๋ชจ์๋์ ํดํท
- ์๋์ฝ๋ค ๋ด์๋ ์ฃผํผํฐ ๋ ธํธ๋ถ, ๊ฐ์ํ๊ฒฝ, VS code ๋ฑ ๋ค์ํ ๊ธฐ๋ฅ๋ค๊ณผ ํด๋ค์ด ๋ด๊ฒจ ์์ด ๋งค์ฐ ์ ์ฉ
- ์ด ๋, ํจํค์ง ๊ด๋ฆฌ ๋ฐ ๊ฐ์ํ๊ฒฝ์ ๊ด๋ฆฌํด์ฃผ๋ ๋๊ตฌ ->
conda
์ฝ๋ค ํ๊ฒฝ ๋ฆฌ์คํธ ๋ณด๊ธฐ
conda env list
์ฃผ์
- ์ฝ๋ค์ ๊ฐ์ํ๊ฒฝ์ ์ค์ฒฉ๋์ด ์คํ ๊ฐ๋ฅ
- ์ค์ฒฉ ์คํ์ ์ฅ์ ๋ ์์ง๋ง, ์ง๊ธ์ ๋ฏธ์ฒ ์๊ฐ์ง ๋ชปํ ๋ฌธ์ ๋ฐ์ ๊ฐ๋ฅ
- ๋ฐ๋ผ์ ๊ฐ์ํ๊ฒฝ์ ์คํํ ๋๋
base
๋ฟ ์๋๋ผ ์ด๋ค ๊ฐ์ํ๊ฒฝ๋ ์คํX ์ธ ์ํ ์์ ์์ํ ๊ฒ
์ฝ๋ค ์๋ก์ด ํ๊ฒฝ ๋ง๋ค๊ธฐ
conda create --name 'practice' python=3.8 # ํ์ด์ฌ 3.8์ด๋ผ๋ ์กฐ๊ฑด
์ฝ๋ค ํ๊ฒฝ ํ์ฑํํ๊ธฐ
conda activate 'practice'
์ฝ๋ค ํ๊ฒฝ ์ค์งํ๊ธฐ
conda deactivate
์ฝ๋ค ํ๊ฒฝ ์ง์ฐ๊ธฐ
conda env remove --name 'practice'
GitHub
๊นํ
- ์๊ฒฉ ์ฝ๋ ์ ์ฅ์ -> ๊น์ ๊ธฐ๋ฐ์ผ๋ก ์ธํฐ๋ท ์์์ ์ํํธ์จ์ด ๊ฐ๋ฐ๊ณผ ๋ฒ์ ๊ด๋ฆฌ
- ๊ฐ๋ฐ์๋ค์ ํ์ ์ ์์ด ๋งค์ฐ ๋์
- ๋๋ถ์ด ๊นํ์ด ์ถ๊ฐ๋ก ์ ๊ณตํ๋ ๊ธฐ๋ฅ๋ค๋ก์ปฌ์์ ์์ ํ๋ ๋ด์ฉ์ด ์ค์๋ก ์์ด์ ธ๋ ๋ณต๊ตฌ ๊ฐ๋ฅ
๊ฐ๋ฐ ํ๋ก์ ํธ๋ฅผ ์งํํ๊ฑฐ๋ ์ฝ๋๋ฅผ ์์ฑํ ๋, ๋ก์ปฌ์์ ๊น
์ ํตํด ์์
ํ๊ณ ์์
ํ ๋ด์ฉ์ ๊นํ
์ ๋ณด๊ด
-> ๊ฐ๋ฐํ๋ ์ปดํจํฐ๊ฐ ์๋์ด๋ ์์
๋ด์ฉ์ ๊ฐ์ ธ์ฌ ์ ์์
- ํ๋์ ํ๋ก์ ํธ๋ฅผ ๋ณด๊ดํ ๋์๋ ํ๋์ ๋ ํฌ์งํ ๋ฆฌ๋ฅผ ํ ๋น
Git
- ๋ฒ์ ๊ด๋ฆฌ ์์คํ
(
local
)
๊น๊ณผ ๊นํ์ ์ด์ฉํ ์์ ๋ฐฉ๋ฒ์ ํํํ ๊ทธ๋ฆผ(์ ๋ง ๋๋ฌด๋๋ฌด๋๋ฌด ์ค์!! ๊ทธ๋ฅ ๋จธ๋ฆฌ์ ๋ฑ ๊ธฐ์ตํด ๋๊ธฐ!)
๊ฐ๋จํ๊ฒ ์ผ๋ฐ์ ์ธ ํ๋ฆ์ ์ ์๋ฉด
- Fork : ๊นํ์ ๊ธฐ์กด์ ์์ฑ๋์ด์๋ ๋ ํฌ์งํ ๋ฆฌ๋ฅผ ์์ ์ ๋ ํฌ์งํ ๋ฆฌ๋ก fork
- Clone : ๋ด ๋ ํฌ์งํ ๋ฆฌ๋ก ๊ฐ์ ธ์จ ํ, ์ฃผ์๋ฅผ ๊ฐ์ ธ์์ ๋ก์ปฌ์ ๋๊ฐ์ ํ์ผ์ ๋ณต์ ํจ
git clone https://github.com/{์ ์ ์ด๋ฆ}/{๋ ํฌ ์ด๋ฆ}
- Add : ๊น์ด ์ด๋ค ํ์ผ๋ค์ ๊ธฐ๋กํ ์ง ์ง์ ํด์ฃผ๋ ๋ช
๋ น์ด(
state area
๋ก ๋ณด๋ ; staging ํ๋ค ๋ผ๊ณ ํํ)
git add ./ # ๋ณดํต์ ํ์ฌ ๋๋ ํ ๋ฆฌ๋ฅผ ๋ด๊ธฐ ๋๋ฌธ์ ./ ๋ฅผ ์์ฃผ ์ฌ์ฉ
- Commit : add๋ ์ด๋ค ํ์ผ๋ค์ ๊ธฐ๋กํ์ง ์ ํ๋ ๊ฒ์ด๋ผ๋ฉด commit์ ์ฌ์ง์ ์ฐ๋ ๊ฒ์ฒ๋ผ ๊ทธ ์๊ฐ์ ๊ธฐ๋กํ๋ ๊ฒ, ๋ฐ๋์ ๋ฉ์ธ์ง๋ฅผ ๊ธฐ๋ก(๋ด๊ฐ ์ ์ด ์ปค๋ฐ์ ์ฐ์๋์ง)
git commit -m '๋ฉ์ธ์ง์ ๊ธฐ' # ์ด๋ ๊ฒ -m์ ์ฐ๋ฉด ๋ฐ๋ก ํธ์ง๊ธฐ ์์ด ์งง์ ์ปค๋ฐ ๋จ๊ธฐ๊ธฐ ๊ฐ๋ฅ
- Push : local(์คํ๋ผ์ธ)์์ ์์ ํ ๋ด์ฉ๋ค์ remote(์จ๋ผ์ธ)์ผ๋ก ๋ณด๋ด๋ ๊ฒ
git push <remote ๋ณ๋ช
> <branch ์ด๋ฆ> # ๋ณดํต fork๋ฅผ ํ๋ฉด origin ์ด๋ ๋ณ๋ช
์ผ๋ก ์ฃผ์๊ฐ ์ ์ฅ๋๊ณ , ๋ฐ๋ก branch๋ฅผ ์๋ง๋ค๋ฉด ๊ทธ๋ฅ main
- Pull Request : ์ด์ ๊นํ ๋ ํฌ์งํ ๋ฆฌ์ ๋ค์ด๊ฐ์ ํ๋ฆฌํํ๋ฉด ๋๋ค!
- PR์ ๋ฐ์ ๊ด๋ฆฌ์๋ผ๋ฉด ์ฝ๋ ๋ณ๊ฒฝ๋ด์ญ์ ํ์ธํ๊ณ merge ์ฌ๋ถ๋ฅผ ๊ฒฐ์
- ๋ง์ฝ ๊ด๋ฆฌ์๊ฐ mergeํ๋ฉด ๋ก์ปฌ ์ฝ๋์ ์๋ณธ ์ ์ฅ์์ ์ฝ๋๋ฅผ ๋๊ธฐํ
$ git pull <๋ ํฌ์งํ ๋ฆฌ ์ฃผ์> ๋๋ <remote ๋ณ๋ช
> # ์ฝ๋ ๋๊ธฐํ
$ git branch -d <branch ์ด๋ฆ> # ๋ธ๋์น ์ญ์
์ถ๊ฐ) pull ์ fetch(ํน์ ์ฃผ์์์ ๋ณ๊ฒฝ๋ ์ฌํญ์ ๊ฐ์ง๊ณ ์ค๋ ๋ช
๋ น์ด) ์ merge(branch ๋ฅผ ํฉ์น๋ ๊ฒ) ์ด 2๊ฐ์ง ๋ช
๋ น์ด๋ฅผ ํ๋ฒ์ ์คํํ๋ ๊ฒ. ์ฆ, fetch๋ก ๊ฐ์ ธ์จ ๋ณ๊ฒฝ๋ ์ฌํญ(branch๋ก ๊ฐ์ ธ์ ์ง)์ ๊ณง๋ฐ๋ก mergeํ์ฌ ๋ฐ๋ก ๋ฐ์๋๊ฒ ํ๋ ๊ฒ์ด๋ค.
clone ๊ณผ ๋น์ทํ์ง๋ง clone์ ์ด๊ธฐ์ ๋ชจ๋ ํ์ผ์ ๊ทธ๋๋ก ๋ณต์ ํ๋ ๊ฒ์ด๊ณ pull์ ์์
ํ ๋ณ๊ฒฝ ์ฌํญ์ ๋ํด์๋ง ๊ฐ์ ธ์ค๋ ๊ฒ!
์ด์ธ์๋
rm -rf .git # ๋ก์ปฌ ๋ ํฌ์งํ ๋ฆฌ ์ง์ฐ๊ธฐ
git remote -v # ์๊ฒฉ ์ ์ฅ์ ํํฉ ํ์ธ
git remote rm # ์๊ฒฉ ์ ์ฅ์ ์ง์ฐ๊ธฐ
git remote add origin https://github.com/{์ ์ ์ด๋ฆ}/{๋ ํฌ์งํ ๋ฆฌ ์ด๋ฆ} # ๋ก์ปฌ์์ ์๊ฒฉ์ ์ฅ์ ๋ถ์ฌํ๋ ๋ฐฉ๋ฒ(ํน์ ์ถ๊ฐํ๋ ๋ฐฉ๋ฒ)
git status # ๊น์ ์ํ ํ์ธ(๊น ๊ด๋ฆฌ ๊ถํ์ด ์์ด์ผ ์ฌ์ฉ๊ฐ๋ฅ)
git init # ๊น์๊ฒ ๊ด๋ฆฌ ๊ถํ ์ฃผ๊ธฐ
์ด์ธ์๋ ์ ๋ง ๋ง์ ๋ช ๋ น์ด ์กด์ฌ!
์ ์ฒด์ ์ธ ํฐ ํ๋ฆ์ ์๊ณ ๊ธฐ์ตํ๊ธฐ!
์ถ๊ฐ) branch์ ๊ฐ๋ ๋ ์๋๋ก ํ์!
'๐ฟ Data > ๋ถํธ์บ ํ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[TIL]49_Transaction(BEGIN, COMMIT/ROLLBACK)_ACID (0) | 2022.01.20 |
---|---|
[TIL]48_DataBase, SQL_Basics(SQLite) (0) | 2022.01.19 |
[TIL]46_Section1_review_๋ง๋ฌด๋ฆฌ (0) | 2022.01.17 |
[TIL]45.8_Section1_sprint2_๊ฐ์ธ๋ณต์ต(์ฃผ๋ง) (0) | 2022.01.17 |
[TIL]45.3_Section2_sprint3_๊ฐ์ธ๋ณต์ต(์ฃผ๋ง) (0) | 2022.01.16 |