๐ [DainWiki] ํธ๋ฌ๋ธ์ํ
- ๐ ํ๋ก์ ํธ ๊ตฌ์กฐ & ์์ฃผ ์ฐ๋ ๋ช ๋ น์ด
- #1. ๋์ปค ์ปจํ ์ด๋ ๊ธฐ๋ฐ ํ๋ก์ ํธ์์ ์๋ SSL ๋ฐ๊ธ ๋ฐ๋ ๋ฒ
- #2. www ๋๋ฉ์ธ 503 ๋ฆฌ๋๋ ์ ๋ฌธ์
- #3. DB ์ด๊ธฐํ & ๋ฐ์ดํฐ ๋ณด์กด ํธ๋ฌ๋ธ์ํ
- #4. ์ธ์ฆ์ ๋ฐ๊ธ ํ์๋ ๋ณด์๊ฒฝ๊ณ ๋จ๋ ๋ฌธ์
- #5. Git์ READ.md ํ์ผ๋ง ์์๋ ๋ก์ปฌ์์ ์ฒ์ push ํ๋ ๊ฒฝ์ฐ
- #6. The current branch master has no upstream branch. ๋ฌธ์
๐ ํ๋ก์ ํธ ๊ตฌ์กฐ & ์์ฃผ ์ฐ๋ ๋ช ๋ น์ด
์ ์ฒด ํ๋ก์ ํธ ๊ตฌ์กฐ
- Docker ๊ธฐ๋ฐ BookStack + MariaDB
๐ DainWiki/
โโโ ๐ bookstack/ # BookStack ์ปจํ
์ด๋ ์ค์ ๋ฐ ๋ฐ์ดํฐ
โ โโโ ... # ๋์ปค ์ด๋ฏธ์ง์์ ๋ง์ดํธ๋จ
โโโ ๐ bookstack_db/ # MariaDB ๋ฐ์ดํฐ
โ โโโ ... # (.frm, .ibd ๋ฑ DB ํ์ผ๋ค)
โโโ ๐ certs/ # ์ธ์ฆ์ ์ ์ฅ์ (์๋ ์์ฑ๋จ)
โโโ ๐ html/ # nginx ๊ธฐ๋ณธ ํ์ด์ง ์ ์ฅ์
โโโ ๐ vhost.d/ # ๊ฐ์ ํธ์คํธ ์ค์ (์๋ ์์ฑ๋จ)
โโโ ๐ docker-compose.yml # ์ ์ฒด ๋์ปค ์ค์
bookstack container
๐ /app/www/
โโโ ๐ .env # Laravel ํ๊ฒฝ ๋ณ์
โโโ ๐ artisan # Laravel CLI ์ง์
ํ์ผ
โโโ ๐ config/ # ์ฑ ๋ฐ DB ์ค์
โ โโโ app.php
โ โโโ database.php ๋ฑ
โโโ ๐ routes/ # ์น ๋ผ์ฐํธ ์ค์
โ โโโ web.php ๋ฑ
โโโ ๐ resources/ # ๋ทฐ ํ
ํ๋ฆฟ, ์ธ์ด ๋ฆฌ์์ค
โ โโโ views/
โ โโโ lang/
โโโ ๐ storage/ # ์บ์, ์
๋ก๋, ๋ก๊ทธ ์ ์ฅ์
โ โโโ logs/
โ โโโ app/
โ โโโ framework/
โโโ ๐ public/ # ์น ๋ฃจํธ ๋๋ ํ ๋ฆฌ
โโโ ๐ uploads/ # ์ด๋ฏธ์ง ์
๋ก๋ ์ ์ฅ์
bookstack_db container
๐ /
โโโ ๐ var/
โ โโโ ๐ lib/
โ โโโ ๐ mysql/ # โฌ
๏ธ ์ด๊ณณ์ด ํต์ฌ: ์ค์ DB ํ์ผ ์ ์ฅ์
โ โโโ ๐ bookstack/ # BookStack์์ ์ฌ์ฉํ๋ DB ํ
์ด๋ธ๋ค
โ โ โโโ users.ibd
โ โ โโโ pages.ibd
โ โ โโโ ...
โ โโโ mysql/ # ์์คํ
DB (์ฌ์ฉ์, ๊ถํ ๊ด๋ฆฌ)
โ โโโ performance_schema/
โ โโโ ibdata1, ib_logfile0 ๋ฑ
โโโ ๐ etc/
โ โโโ my.cnf # MariaDB ์ค์ ํ์ผ
โโโ ๊ธฐํ Linux ๊ธฐ๋ฐ ๋์ปค ํ์ผ๋ค
1. SSH๋ก ์ฐ๋ถํฌ ์๋ฒ ์ ์
Linux, macOS, WSL, ๋ฆฌ๋ ์ค ์๋ฒ, VSCode ํฐ๋ฏธ๋
ssh -i ~/ํค์ด๋ฆ.pem ubuntu@your-lightsail-ip
์๋์ฐ (Windows PowerShell / CMD)
ssh -i "C:\Users\aweso\pem\ํค์ด๋ฆ.pem" ubuntu@your-lightsail-ip
2. home ์ ์
- `.yml` ํ์ผ ์์น
- docker ๋ช ๋ น์ด๋ค ์คํํ๋ ๊ณต๊ฐ (docker ps, docker-compose up -d. docker-compose down ๋ฑ)
cd DainWiki
3. ๋์ปค ์ปจํ ์ด๋ ์์ผ๋ก ๋ค์ด๊ฐ๊ธฐ
docker exec -it bookstack bash
4. Laravel ์ฑ ๊ฒฝ๋ก๋ก ์ด๋
- `.env` ํ์ผ ์์น
docker exec -it bookstack bash
cd /app/www
ls -al .env
5. Laravel ์ค์ ์บ์ ์ ๋ฆฌ ๋ฐ ๋ง์ด๊ทธ๋ ์ด์ ๊ฐ์ ์คํ
- DB ์บ์ ์ญ์
- DB ์ด๊ธฐํ(๊ฐ์ ) ๋ฑ
php artisan config:clear
php artisan cache:clear
php artisan view:clear
php artisan migrate --force
6. maria db ๋ช ๋ น์ด ์ฐ๋ ๊ณณ
docker exec -it bookstack_db bash ์ฌ๊ธฐ์ ์คํ
mysql -u root -p
๋น๋ฒ rootpassword
์ ์์ฑ๊ณต์
Welcome to the MariaDB monitor...
MariaDB [(none)]>
7. ๋จ์ ์ ์ฅ์ ์ฉ๋ ํ์ธ
df -h
#1. ๋์ปค ์ปจํ ์ด๋ ๊ธฐ๋ฐ ํ๋ก์ ํธ์์ ์๋ SSL ๋ฐ๊ธ ๋ฐ๋ ๋ฒ
โ ๏ธ ๋ฌธ์
- (Docker ๊ธฐ๋ฐ์ผ๋ก AWS Lightsail์์ ์ด์ํ๋ ํ๋ก์ ํธ)
- HTTPS๋ก ์ ์์ ๋ธ๋ผ์ฐ์ ์์ '๋ณด์ ๊ฒฝ๊ณ '๊ฐ ๋ฐ์ํ๋ ๋ฌธ์
๐ ์์ธ ๋ถ์
- SSL ์ธ์ฆ์ ์์
โก ํด๊ฒฐ๋ฐฉ๋ฒ
- ๊ธฐ์กด docker-compose.yml ํ์ผ์ ์๋ 2๊ฐ์ง Docker ์ด๋ฏธ์ง๋ฅผ ์ถ๊ฐํ์ฌ SSL ์๋ ๋ฐ๊ธ
Nginx reverse proxy (jwilder/nginx-proxy),
Let's Encrypt companion (JrCs/letsencrypt-nginx-proxy-companion)
๊ธฐ์กด ๊ตฌ์ฑ
๐ DainWiki/
โโโ ๐ bookstack/
โโโ ๐ bookstack_db/
โโโ docker-compose.yml
yml ํ์ผ ์์ ํ
๐ DainWiki/
โโโ ๐ bookstack/ # BookStack ์ปจํ
์ด๋ ์ค์ ๋ฐ ๋ฐ์ดํฐ
โโโ ๐ bookstack_db/ # MariaDB ๋ฐ์ดํฐ
โโโ ๐ certs/ # ์ธ์ฆ์ ์ ์ฅ์ (์๋ ์์ฑ๋จ)
โโโ ๐ html/ # nginx ๊ธฐ๋ณธ ํ์ด์ง ์ ์ฅ์
โโโ ๐ vhost.d/ # ๊ฐ์ ํธ์คํธ ์ค์ (์๋ ์์ฑ๋จ)
โโโ docker-compose.yml # ์ ์ฒด ๋์ปค ์ค์
๐ โ Let's Encrypt ์ธ์ฆ์ ๋ฐ๊ธ์ฉ ์ค์
service:
- VIRTUAL_HOST=dainwiki.com
- LETSENCRYPT_HOST=dainwiki.com
- LETSENCRYPT_EMAIL=your@email.com
๐ โก APP_URL ๊ฐ http โ https๋ก ๋ณ๊ฒฝํจ
- - APP_URL=http://dainwiki.com
+ - APP_URL=https://dainwiki.com
โ ํ๋ก์ ํธ๊ฐ ๋ด๋ถ์ ์ผ๋ก https ์ฃผ์๋ฅผ ์ธ์ํ๊ฒ ํด์ค๋ค.
๐ โข nginx-proxy ๋ฐ letsencrypt ์ปจํ ์ด๋ ์ถ๊ฐ
nginx-proxy:
image: jwilder/nginx-proxy
container_name: nginx-proxy
restart: always
ports:
- "80:80"
- "443:443"
volumes:
- /var/run/docker.sock:/tmp/docker.sock:ro
- ./certs:/etc/nginx/certs
- ./vhost.d:/etc/nginx/vhost.d
- ./html:/usr/share/nginx/html
networks:
- bookstack_net
letsencrypt:
image: jrcs/letsencrypt-nginx-proxy-companion
container_name: letsencrypt
restart: always
environment:
- NGINX_PROXY_CONTAINER=nginx-proxy
- DEFAULT_EMAIL=your@email.com
volumes:
- /var/run/docker.sock:/var/run/docker.sock:ro
- ./certs:/etc/nginx/certs
- ./vhost.d:/etc/nginx/vhost.d
- ./html:/usr/share/nginx/html
depends_on:
- nginx-proxy
networks:
- bookstack_net
โ ์๋ ํ๋ก์ + SSL ๋ฐ๊ธ๊ธฐ ์ญํ
#2. www ๋๋ฉ์ธ 503 ๋ฆฌ๋๋ ์ ๋ฌธ์
โ ๏ธ ๋ฌธ์
- ๋๋ฉ์ธ: https://dainwiki.com, http://dainwiki.com์ ์ ์ ์ ์๋จ
- http://www.dainwiki.com, https://www.dainwiki.com ๋ชจ๋ ์ ์ ๋ถ๊ฐ
- DNS ์ค์ ์ ์ ์(A๋ ์ฝ๋ ํธ์คํธ์ @์ www(์๋ธ) ๋ชจ๋ ์ ์ ๋ฑ๋ก๋์ด ์์)
๐ ์์ธ ๋ถ์
- Docker ํ๊ฒฝ์์ nginx-proxy + letsencrypt-nginx-proxy-companion ์กฐํฉ์ ์ฌ์ฉ ์ค
- .env ๋๋ docker-compose.yml ์ค์ ์ www.dainwiki.com์ด ํฌํจ๋์ด ์์ง ์์์
- ์ธ์ฆ์์ www.dainwiki.com์ด ๋๋ฝ๋์ด www ์์ฒญ์ ๋ํ ์๋ ๋ฆฌ๋๋ ์ ์ด ์ค์ ๋์ง ์์
โก ํด๊ฒฐ๋ฐฉ๋ฒ
- Docker ํ๊ฒฝ์์ nginx-proxy + letsencrypt-nginx-proxy-companion ์กฐํฉ์ ์ฌ์ฉ ์ค
- .env ๋๋ docker-compose.yml ํ์ผ ๋ด ํ๊ฒฝ๋ณ์ ์๋์ ๊ฐ์ด ๋ณ๊ฒฝ
VIRTUAL_HOST=dainwiki.com,www.dainwiki.com
LETSENCRYPT_HOST=dainwiki.com,www.dainwiki.com
LETSENCRYPT_EMAIL=you@example.com
๋ณ๊ฒฝ ํ์๋ ๋์ปค ์ปจํ ์ด๋ ์ฌ์์
docker-compose down
docker-compose up -d
์ด ์ค์ ์ ํตํด
- www.dainwiki.com๋ ํฌํจ๋ SSL ์ธ์ฆ์๊ฐ ์๋ ๋ฐ๊ธ๋จ
- www ์ ์ ์ https:// ๋ก ์๋ ๋ฆฌ๋๋ ์ ๋จ
#3. DB ์ด๊ธฐํ & ๋ฐ์ดํฐ ๋ณด์กด ํธ๋ฌ๋ธ์ํ
โ ๏ธ ๋ฌธ์
- ๋ก์ปฌ์์ BookStack API ๊ธฐ๋ฐ ๊ฐ์ธ ์ํค ํ๋ก์ ํธ((Apache + PHP + MySQL) ์งํ ์ค DB ์ด๊ธฐํ ๋ฐ์
- 503 ์ค๋ฅ ๋ฐ์์ผ๋ก ํ๋ก์ ํธ ์์ ํ๋ ์ค ๊ธฐ์กด์ ์ ๋ก๋ํ ์ํค ๋ฌธ์ ๋ฐ์ดํฐ ์ ๋ถ ์ด๊ธฐํ๋จ
๐ ์์ธ ์ถ์
- MySQL ๋ฐ์ดํฐ ์ ์ฅ ๊ฒฝ๋ก๊ฐ htdocs ์ธ๋ถ์ ์์ด ๋ฐฑ์ ์ด ์ด๋ ค์
- ์๋ฒ ์ฌ์์ ํน์ ์บ์ ์ญ์ ๊ณผ์ ์์ ๋ฐ์ดํฐ ์์ค
- ์๊ตฌ ์ ์ฅ์ ์ค์ (volume, data ๋๋ ํ ๋ฆฌ) ๋ฏธ๋น
โก ํด๊ฒฐ ๋ฐฉ๋ฒ
- ํด๊ฒฐ: AWS Lightsail๋ก ์ด์ , Docker + Volume ๊ตฌ์ฑ์ผ๋ก ๋ฐ์ดํฐ ๋ณด์กด ํ๋ณด
- ํ์ฌ: docker-compose up -d๋ก ์ค์ ์์ ๊ฐ๋ฅ, ๋ฐ์ดํฐ๋ ์์ ํ๊ฒ volume: ์ ๋ณด๊ด๋จ
- ์ถ๊ฐ ๊ณํ:
์ ์ฅ ๊ณต๊ฐ 60GB ์ด๊ณผ์ ๋ธ๋ญ ์คํ ๋ฆฌ์ง ์ถ๊ฐํ๊ฑฐ๋ ๋ฐฑ์ ์์คํ ๊ตฌ์ถ ์์
ํฅํmysqldump
๋๋ ์๋ ๋ฐฑ์ ์คํฌ๋ฆฝํธ ๋์ ๊ณ ๋ ค - ํ๋ซํผ: AWS Lightsail $10 ํ๋ (2GB RAM, vCPU 1, SSD 60GB)
๐ ๊ตฌ์กฐ ๊ฐ์
๐ DainWiki/
โโโ ๐ bookstack/ # BookStack ์ฑ ์ค์ , ์ด๋ฏธ์ง
โโโ ๐ bookstack_db/ # MariaDB ๋ฐ์ดํฐ (์ํค ํฌ์คํธ, ๊ณ์ ๋ฑ)
โโโ ๐ docker-compose.yml
โโโ ๐ .env
โ yml. ํ์ผ ๋ฐ์ดํฐ ์ ์ฅ ์์น
bookstack:
volumes:
- ./bookstack_data:/config
bookstack_db:
volumes:
- ./db_data:/var/lib/mysql
๋ฐ์ดํฐ๋ ๋ฐ์ธ๋ ๋ง์ดํธ(bind mount)๋ฐฉ์์ผ๋ก ์ ์ฅ๋๋ค.
- ๋ก์ปฌ ๊ฒฝ๋ก (./bookstack_data)๋ฅผ ์ปจํ ์ด๋ ์ ๋๋ ํ ๋ฆฌ(/config)์ ์ฐ๊ฒฐ
- ์ค์ ๋ฐ์ดํฐ๋ ํธ์คํธ(=Lightsail ์ธ์คํด์ค) ๋์คํฌ์ ์ ์ฅํ๋ ๋ฐฉ์์ด๋ค.
- ์ฆ, ๋ฃจํธ ๋์คํฌ(/) ์์ ~/DainWiki/bookstack_data, db_data ๋ฑ(์: /home/ubuntu/DainWiki/bookstack_data)
โ ์ค์ ํธ์คํธ ์ ์ฅ ๊ฒฝ๋ก ๋ณด๊ธฐ
docker inspect bookstack
- ์ฌ๊ธฐ์ Mounts ํญ๋ชฉ ์ฐธ๊ณ
โ ๋จ์ ๊ณต๊ฐ ํ์ธ
df -h
#4. ์ธ์ฆ์ ๋ฐ๊ธ ํ์๋ ๋ณด์๊ฒฝ๊ณ ๋จ๋ ๋ฌธ์
โ ๏ธ ๋ฌธ์
- https://www.dainwiki.com ์ ์ ์ ๋ณด์ ๊ฒฝ๊ณ ๋ฐ์
- www ์๋ธ๋๋ฉ์ธ ๋ฑ๋ก ํ yml ํ์ผ ์ฌ์ค์ ์๋ฃ โ www๋ก ์ ์ํ๋ฉด ๊ณ์ํด์ ๋ณด์ ๊ฒฝ๊ณ ๋ธ
- docker logs letsencrypt์์๋ ์ธ์ฆ์ ๋ฐ๊ธ ๊ด๋ จ ๋ฉ์์ง๊ฐ ์์์ง๋ง, ์ค์ ๋ฐ์๋์ง ์์
๐ ์์ธ ๋ถ์
- ๐ .env์์ LETSENCRYPT_HOST ๋ฐ VIRTUAL_HOST๋ ์ ์์ ์ผ๋ก ์ค์ ๋์ด ์์์ (www.dainwiki.com ํฌํจ)
- ๐ ์ธ์ฆ์ ๋ฐ๊ธ๋ ๋ก๊ทธ์ ์ฑ๊ณตํ์ผ๋,
- Let's Encrypt Companion ์ปจํ ์ด๋์ ์ธ์ฆ์ ์ ์ฉ/๋ฆฌ๋ก๋๊ฐ ์ฝ๊ฐ ์ง์ฐ๋จ
- ํน๋ณํ ์ถ๊ฐ ์์ ์์ด ์ ์ ๊ธฐ๋ค๋ฆฌ์ ์๋์ผ๋ก ์ธ์ฆ์๊ฐ ์ ์ฉ๋จ
- ์ฆ์ ๋ฐ์๋์ง ์๊ณ ์ฝ 5๋ถ ํ์ ์๋ ๋ฐ์
๐ง ํด๊ฒฐ ๋ฐฉ๋ฒ
SSL ์ธ์ฆ์ ๋ฐ๊ธ ๋ก๊ทธ ํ์ธ
docker logs letsencrypt
๋์ปค ์ปจํ ์ด๋ ์ ์
docker exer -it nginx-proxy sh
docker exer -it nginx-proxy bash
์ธ์ฆ์ ๋๋ ํฐ๋ฆฌ์ ํ์ผ ์๋์ง ํ์ธํ๊ธฐ
ls /etc/nginx/certs/
- dainwiki.com/, www.dainwiki.com/ ํด๋๊ฐ ๋ชจ๋ ์๋์ง
- ๊ทธ ์์ fullchain.pem, cert.pem, key.pem ๋ฑ์ด ์กด์ฌํ๋์ง
#5. Git์ READ.md ํ์ผ๋ง ์์๋ ๋ก์ปฌ์์ ์ฒ์ push ํ๋ ๊ฒฝ์ฐ
โ ๏ธ ๋ฌธ์
- GitHub์ ์ด๋ฏธ README.md๊ฐ ์๊ณ , ๋ก์ปฌ์ Git ์ด๊ธฐํ๋ง ๋์ด ์๋ ์ํ ์ฒ์ git push ํ๋ ค๊ณ ํ๋ค.
- GitHub์์ ๋จผ์ pull ๋ฐ์์จ ๋ค ๊ทธ๋ค์ ๋ณํฉ ๋๋ ๋ฎ์ด์ฐ๊ธฐ โ pushโํด์ผ ํ๋ค.
- ์ด ๋ git pull --rebase ๊ฐ ์๋จนํ๋ ๋ฌธ์
๐ ์์ธ ๋ถ์
๋ช ๋ น์ด | ์ฌ์ฉ ์์ | ์๋ฏธ ๋ฐ ์๋ ๋ฐฉ์ |
---|---|---|
| โ ์ต์ด 1ํ๋ง | ์๋ก ๊ด๋ จ ์๋ ๋ Git ํ์คํ ๋ฆฌ๋ฅผ ๊ฐ์ ๋ก ๋ณํฉ |
| โ ์ฌ์ฉ ๋ถ๊ฐ (์ด๊ธฐ์๋) | ๊ณตํต ์กฐ์์ด ์์ด์ผ rebase ๊ฐ๋ฅํจ โ ์ด ์ํฉ์์ ์๋ฌ๋จ |
์ฒ์ 1ํ๋ง pull ํ ๋ --allow-unrelated-histories๋ฅผ ์จ์ผ ํ๋ค.
๋ ์ ์ฅ์๊ฐ '๊ณตํต ์ปค๋ฐ'์ด ์๊ธฐ ๋๋ฌธ์ Git์ ์๋ก ๊ด๋ จ์ด ์๋ค๊ณ ํ๋จํ๊ธฐ ๋๋ฌธ์ --rebase๋ ์ ๋๋ค.
๋ก์ปฌ๊ณผ ์๊ฒฉ์ด X โ A โ B โ C ์ฒ๋ผ ๊ฐ์ ์ด๋ ฅ์ ๊ณต์ ํ๊ฒ ๋์ด ๊ทธ ์ดํ๋ถํฐ๋ ํ์๊ฐ ์๋ค.
โก ํด๊ฒฐ ๋ฐฉ๋ฒ
# 1. ์๊ฒฉ ์ ์ฅ์ ์ถ๊ฐ
git remote add origin https://github.com/๋ด์์ด๋/๋ ํฌ์ด๋ฆ.git
# 2. ์๊ฒฉ ์ ์ฅ์์ ๋ณ๊ฒฝ์ฌํญ ๋จผ์ ๊ฐ์ ธ์ค๊ธฐ
git pull origin main --allow-unrelated-histories
# 3. ์ถฉ๋ ๋ฌ๋ค๋ฉด ํด๊ฒฐ ํ ์ปค๋ฐ
# 4. ์ด์ ์ ์์ ์ผ๋ก ํธ์ ๊ฐ๋ฅ
git push origin main
์ดํ๋ถํฐ๋ git pull ๋๋ git pull --rebase ํ๋ค.
- git pull --rebase origin main โ ๊น๋ํ ํ์คํ ๋ฆฌ ์ํ ๋
- git pull origin main โ ๋จ์ํ ๋ณํฉ๋ง ์ํ ๋
#6. The current branch master has no upstream branch. ๋ฌธ์
โ ๏ธ ๋ฌธ์
- โGit Bash ์์ ์ปค๋ฐ ํ๋ ์ค ์๋์ ๊ฐ์ ์ค๋ฅ ๋ฉ์ธ์ง
The current branch master has no upstream branch.
$ git push fatal: The current branch master has no upstream branch. To push the current branch and set the remote as upstream, use git push --set-upstream origin master To have this happen automatically for branches without a tracking upstream, see 'push.autoSetupRemote' in 'git help config'.
๐ ์์ธ ๋ถ์
- ํ์ฌ ๋ก์ปฌ ๋ธ๋์น(master)๊ฐ ์๊ฒฉ ๋ธ๋์น์ ์ฐ๊ฒฐ๋์ง ์์
- master๋ก ๊ณ์ ์์ ํ๊ณ ์ถ์ผ๋ฉด --set-upstream์ผ๋ก ์ฐ๊ฒฐํ๋ฉด ๋์ง๋ง
- main์ผ๋ก ์ฌ๋ฆฌ๊ณ ์ถ์ด์ ๋ธ๋์น๋ฅผ ๋ณ๊ฒฝํ๋ค.
๐ง ํด๊ฒฐ ๋ฐฉ๋ฒ
- master ๋ธ๋์น๋ฅผ main ๋ธ๋์น๋ก ๋ฐ๊ฟ์ ํด๊ฒฐํ๋ค.
- ์ด ์์ ์ ๋ก์ปฌ + GitHub(๋๋ origin) ๋ชจ๋์์ ๋ธ๋์น ์ด๋ฆ์ ๋ณ๊ฒฝํ๋ ์์ ์ด๋ค.
git branch -m master main
git push -u origin main
# (GitHub์์ default branch ์ค์ ๋ณ๊ฒฝ)
git push origin --delete master # (์ ํ)
1. ๋ก์ปฌ ๋ธ๋์น ์ด๋ฆ ๋ณ๊ฒฝํ๋ ๋ฒ
git branch -m master main
- -m = move (rename)
2. ์๊ฒฉ(origin)์ ์ ๋ธ๋์น๋ก ํธ์
git push -u origin main
- -u๋ main ๋ธ๋์น๋ฅผ ์์ผ๋ก ๊ธฐ๋ณธ upstream์ผ๋ก ์ค์
3. GitHub์์ ๊ธฐ๋ณธ ๋ธ๋์น๋ฅผ main์ผ๋ก ๋ฐ๊พธ๊ธฐ
- GitHub ์น์ฌ์ดํธ โ ํด๋น ์ ์ฅ์๋ก ์ด๋
- Settings โ Branches ๋ฉ๋ด ํด๋ฆญ
- Default branch๋ฅผ master โ main์ผ๋ก ๋ณ๊ฒฝ
4. ๊ธฐ์กด master ๋ธ๋์น ์ญ์
git push origin --delete master
๐ก ์ฐธ๊ณ
๋ง์ฝ์ master๋ก ๊ณ์ ์ธ๊ฑฐ๋ฉด ์๋์ฒ๋ผ --set-upstream ๋ช ๋ น์ด๋ฅผ ์ฐ๋ฉด ๋๋ค.
git push --set-upstream origin master
์ด๋ ๊ฒ ํ๋ฉด origin/master ๋ธ๋์น๋ฅผ ๋ง๋ค๊ณ ์ฐ๊ฒฐํด์ master ๋ธ๋์น๋ฅผ ์๊ฒฉ(origin)์ ํธ์ํ๋ค.
๋์ฒ๋ผ ์ง๊ธ master ๋ธ๋์น์ ์๊ณ , ์์ง ์๊ฒฉ ์ ์ฅ์์ ์ฐ๊ฒฐ๋์ง ์์์ ๋,
์ ๋ช ๋ น์ด๋ฅผ ์คํํ๋ฉด ์์ผ๋ก๋ git push, git pull๋ง ์ณ๋ origin/master์ ์ฐ๊ฒฐ๋๋ค.