๐ Westagram : instagram์ mini๋ฒ์
๐ฑTeam project
๋ธ๋์น
feature/main
feature/signin
feature/singup
ํ์ ์ค ํ๋ช
์ด ์ด๊ธฐํ๊ฒฝ ์
ํ
์๋ฃ ํ PUSHํด์ฃผ๊ธฐ
my_settings.py. ์ฅ๊ณ ์์ค์ฝ๋ ๊ตฌ๋น. $pip freeze > requirements.txt
๋ง๋ค๊ธฐ
$ git add .
$ git commit -m "๋์ฌ : ์ค๋ช
$ git remote add origin ๋ ํ์งํ ๋ฆฌ์ฃผ์.git
$ git push origin ๋ธ๋์น์ด๋ฆ
์ญ์ ํด์ผ๋๋ ๋ถ๋ถ์ด ์๋ค๋ฉด
git --cash ๋ก ํด๋น ๋ฐ์ดํฐ ์ง์์ฃผ๊ณ push
์ ์ด๊ธฐ์ธํ
์ ๋ค๋ฅธ ๋ ํ์์ด $ git clone
์ ํ์ฌ ๋ด์ฉ ๋ฐ์์ค๊ธฐ
$pip install -r requirements.txt
ํด๋ก ์ ํ ํ
<ํ์๊ฐ์
๋จผ์ ๋ง๋ค๊ธฐ>
$ git branch feature/signup
$ checkout feature/signup
$ git add .
$ git commit -m "Add:login page complete
$ git push origin feature/signup
๋จธ์ง์๋ฃ ํ
PR(pull request) feature/signup -> Main
$ git pull origin main
๋ง์ง๋ง
์ด์ ๋ด์ฉ์ Main์ ๋ชจ๋ ํ์ฌ๊ฐ ๋์๊ธฐ ๋๋ฌธ์ ํ์๊ฐ ์์ด์ง feature๋ธ๋์น๋ ์ญ์ ~ํด๋๋๊ณ ์ํด๋๋๋ค.
๐ฑconflict(์ถฉ๋)
๋ธ๋์น๋ ์ฌ๋ฌ๊ฐ์ธ๋ฐ ๋์์ ๊ฐ์ ๋ธ๋์น์ ๊ฐ์ ๋ด์ฉ์ ์ ๊ทผํ๊ณ ์์ ํ์๋ ๋ฐ์
์ถฉ๋์ด ๋๋ค๊ณ ํด์ ๋์์ํฉ์ ์๋
๊ทธ๋ฅ ๋ฒ์ ์ด ๋ค๋ฅด๋ ์ด ์ค์ ๋ญ๊ฐ ๋ง๋~ ๋ฌผ์ด๋ณด๋ ์ํฉ
์ฝ๋ ๋จธ์ง๋ฅผ ์์ผฐ๋ ์ฌ๋์ ์๋๊ฐ ๋ฌด์์ธ์ง ๋ํํด๋ณด๊ณ ํด๊ฒฐํ ๊ฒ
A : feature/signup
B : feature/signin
A์ B์์ ๋์์ main๋ธ๋์น์ ๋์ผํ ํ์ผ์ ์์ ํ ํ
๊ฐ๊ฐ main์ผ๋ก mergeํ๊ฒ๋๋ฉด main์์๋ A,B์์ ์๋ก ๊ฐ์ ๋ถ๋ถ์ ๋ณ๊ฒฝํ๋๋ฐ ๋์ค ๋ญ๋ก ๋ฐ์ผ๋ผ๋๊ฑด์ง ๋ชฐ๋ผ์ ์ถฉ๋๋ฐ์
๊ทธ๋ฌ๋ฉด A์ B ์ค main์ผ๋ก ์ฌ๋ฆด ๋ธ๋์น๋ ๋
๋๊ณ ๋จ์ ํ๋์ ๋ธ๋์น์์ ์ญ์ ํน์ ์์ ํ์ฌ
git addํ ํ, git commit์ ํด์ฃผ๋ฉด ์ถฉ๋ํด๊ฒฐ
$ git checkout main
$ git pull origin main
$ git checkout feature/signin
$ git merge main
$ git add .
$ git commit -m ...
$ git push ...
pushํ๊ธฐ์ ์ pull๋จผ์
์ ์ผ ์ต๊ทผ ์
๋ฐ์ดํธ๋ ์ฝ๋๋ฅผ ์์ ํด์ผ ์ถฉ๋์ ๋ฐฉ์งํ ์ ์์
conflict ๋ ๊ฒ ๊ฐ์ผ๋ฉด ํ์์๊ฒ ๋ฏธ๋ฆฌ ์๊ธฐํด์ฃผ๊ธฐ
$ git clone ๋ ํ์งํ ๋ฆฌ์ฃผ์ #git ํด๋ก
$ mkdir jimin #์ฌ๊ธฐ์ ์ด๊ธฐ์
ํ
ํ๊ธฐ(conda create ~~)
$ pip freeze #ํ์ธ ํ ์๋ ๊ฒ ์ค์น (django, sql, sqlclient, httpie...)
$ django-admin startproject ํ๋ก์ ํธ๋ช
. #ํํด๋ ์์ manage.py์์ด์ผํ๊ณ ํํด๋ ์์ ๋ด ์ด๋ฆํด๋์์ด์ผํจ
$git branch feature/initial-settings-jimin
$git commit -m "[์ ์ง๋ฏผ]create:initial-settings"
initial ์ ํ (์ด๊ธฐ์ ํ ) ๊น์ง๋ ์ ๋ธ๋์น๋ก push