



์ค๋์ ๊นํ๋ธ์์ ๋ธ๋์น๋ฅผ ๋๋๊ณ ์ฌ๋ฆฌ๋ ๋ฐฉ๋ฒ์ ๋ํด ์์๋ณด์๋ค.
๊ฐ์ธ ํ๋ก์ ํธ๋ ์ด๋ป๊ฒ ํ ์ง์ ๋ํด ๊ณ ๋ฏผํด๋ณด๊ณ ๊นํ๋ธ์ ์ฌ๋ฆฌ๋ ๊ฒ๋ ๋ง๋ค์ด๋ณด์๋ค//
์ค๋น๋ฌผ (์ง๊ธ ๋น์ฅ ํ์ํ ๊ฒ 2๊ฐ)
- ๊นํ๋ธ ๊ณ์ (๋ก๊ทธ์ธ๋ผ ์์ด์ผ ํจ)
- ์ปดํจํฐ์ Git ์ค์น๋ผ ์์ด์ผ ํจ → ์ ๋ผ ์์ผ๋ฉด ์ฌ๊ธฐ์ 1๋ถ ์ค์น: https://git-scm.com/downloads
1๋จ๊ณ: ์ ๋ ํฌ ๋ง๋ค๊ธฐ (๊นํ๋ธ ์น์์ 1๋ถ)
- https://github.com/new ์ ์
- ์๋์ฒ๋ผ ์ ๋ ฅ ํ Create repository ํด๋ฆญ
ํญ๋ชฉ์
๋ ฅํ ๋ด์ฉ
| Repository name | lca-calculator (๋๋ ์ํ๋ ์ด๋ฆ) |
| Description | ์์ ์ฃผ๊ธฐ ํ๊ฐ(LCA) ๊ณ์ฐ๊ธฐ ํ๋ก์ ํธ |
| Public / Private | Public (ํฌํธํด๋ฆฌ์ค๋ฉด ๋ฌด์กฐ๊ฑด Public!) |
| Add a README file | ์ฒดํฌ ํด์ |
| Add .gitignore | ์ฒดํฌ ํด์ |
| Choose a license | MIT License (์ถ์ฒ) |
→ ์ด๋ก์ Create repository ๋ฒํผ ํด๋ฆญ!
2๋จ๊ณ: ๋ก์ปฌ์ ํด๋ก + develop ๋ธ๋์น ๋ง๋ค๊ธฐ (ํฐ๋ฏธ๋์์ 2๋ถ)
ํฐ๋ฏธ๋(๋งฅ์ Terminal, ์๋์ฐ๋ Git Bash๋ PowerShell) ์ด๊ณ ์๋ ์์๋๋ก ๋ณต๋ถ!
Bash
# 1. ๋ฐํํ๋ฉด์ด๋ ์ํ๋ ํด๋๋ก ์ด๋
cd ~/Desktop # ๋งฅ/๋ฆฌ๋
์ค
# cd C:\Users\๋์ด๋ฆ\Desktop # ์๋์ฐ
# 2. ๋ฐฉ๊ธ ๋ง๋ ๋ ํฌ ํด๋ก
git clone https://github.com/๋์์ด๋/lca-calculator.git
cd lca-calculator
# 3. develop ๋ธ๋์น ๋ง๋ค๊ณ ๋ฐ๋ก ํธ์ (์ด์ ๋ถํฐ ์ฌ๊ธฐ์ ๊ฐ๋ฐ!)
git checkout -b develop
git push -u origin develop
3๋จ๊ณ: main ๋ธ๋์น ๋ณดํธ ์ค์ (๊นํ๋ธ ์น์์ 2๋ถ)
- ๊นํ๋ธ ๋ ํฌ๋ก ๋ค์ด๊ฐ๊ธฐ → Settings ํญ ํด๋ฆญ
- ์ผ์ชฝ ๋ฉ๋ด Branches ํด๋ฆญ
- Add rule ๋ฒํผ ํด๋ฆญ
- ์๋์ฒ๋ผ ์ ๋ ฅ ํ ์ด๋ก์ Add rule ํด๋ฆญ
ํญ๋ชฉ์ค์ ๊ฐ
| Branch name pattern | main |
| Require a pull request... | ์ฒดํฌ |
| Require approvals | 1 (ํผ์๋ฉด 1๋ก ํด๋ ๋จ) |
| Dismiss stale approvals... | ์ฒดํฌ |
| Require status checks... | ์ฒดํฌ ํด์ (๋์ค์ CI ๋ฃ์ ๋ ์ผ๊ธฐ) |
| Require linear history | ์ฒดํฌ (๊ฐ๋ ฅ ์ถ์ฒ! ์ถฉ๋ ๊ฑฐ์ ์์ด์ง) |
| Include administrators | ์ฒดํฌ |
→ ์ด์ main์ PR ์์ผ๋ฉด ์ ๋ ๋ชป ๊ฑด๋๋ฆผ!
4๋จ๊ณ: .github ํด๋ + ์๋ํ ํ์ผ ๋ง๋ค๊ธฐ (๋ณต๋ถ๋ง ํ๋ฉด ๋จ)
ํฐ๋ฏธ๋์์ ๊ทธ๋๋ก ๋ณต๋ถ!
Bash
# 1. .github ํด๋ ๋ง๋ค๊ธฐ
mkdir .github
mkdir .github/workflows
# 2. PR ํ
ํ๋ฆฟ ๋ง๋ค๊ธฐ
cat > .github/pull_request_template.md << 'EOF'
## ์์
๋ด์ฉ
- [ ] ์ ๊ธฐ๋ฅ / ๋ฒ๊ทธ ์์ / ๋ฆฌํฉํ ๋ง / ๋ฌธ์
## ๊ด๋ จ ์ด์
Closes #
## ์ฒดํฌ๋ฆฌ์คํธ
- [ ] ์ฝ๋ ์ ์ ๋์ ํ์ธ
- [ ] develop ๋ธ๋์น ์ต์ ํํจ
- [ ] ๋ถํ์ํ ๋ก๊ทธ ์ญ์ ํจ
EOF
# 3. ์๋ ๋ธ๋์น ์ญ์ ์ํฌํ๋ก์ฐ ๋ง๋ค๊ธฐ (PR ๋จธ์ง๋๋ฉด ์๋ ์ญ์ !)
cat > .github/workflows/auto-delete.yml << 'EOF'
name: Auto Delete Merged Branch
on:
pull_request:
types: [closed]
jobs:
delete-branch:
if: github.event.pull_request.merged == true
runs-on: ubuntu-latest
steps:
- name: Delete branch
uses: dawidd6/action-delete-branch@v3
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
branches: ${{ github.event.pull_request.head.ref }}
EOF
5๋จ๊ณ: ์ต๊ณ ์ .gitignore ๋ง๋ค๊ธฐ (LCA ํ๋ก์ ํธ์ฉ)
Bash
cat > .gitignore << 'EOF'
# Python / Node
__pycache__/
*.pyc
node_modules/
dist/
build/
.env
.venv
venv/
# ๋ฐ์ดํฐ ํ์ผ (์ฉ๋ ํฐ ๊ฑฐ ์ฌ๋ผ๊ฐ์ง ์๊ฒ!)
data/*.xlsx
data/*.csv
*.xlsx
*.csv
# IDE
.vscode/
.idea/
*.swp
# OS
.DS_Store
Thumbs.db
EOF
6๋จ๊ณ: README์ ๋ธ๋์น ์ ๋ต ๋ฃ๊ธฐ (ํฌํธํด๋ฆฌ์ค์ฉ ํ์!)
Bash
cat > README.md << 'EOF'
# LCA Calculator
์์ ์ฃผ๊ธฐ ํ๊ฐ(LCA)๋ฅผ ์ฝ๊ฒ ๊ณ์ฐํด์ฃผ๋ ์น ์ฑ
## ๋ธ๋์น ์ ๋ต
| ๋ธ๋์น | ์ฉ๋ | ๋ณดํธ | ์ญ์ ์์ |
|------------------|-----------------------------------|------|-----------------|
| `main` | ํญ์ ๋ฐฐํฌ ๊ฐ๋ฅํ ์์ฑ๋ณธ | ๊ฐ๋ ฅ | ์ ๋ ์ญ์ ๊ธ์ง |
| `develop` | ํ์ฌ ๊ฐ๋ฐ ์ค์ธ ์ต์ ์ฝ๋ | ๋ณดํธ | ์ ์ง |
| `feature/...` | ์ ๊ธฐ๋ฅ ๊ฐ๋ฐ | ์์ | ๋จธ์ง ํ ์ญ์ |
| `hotfix/...` | ๊ธด๊ธ ๋ฒ๊ทธ ์์ | ์์ | ๋จธ์ง ํ ์ญ์ |
| `release/vX.Y.Z` | ๋ฐฐํฌ ์ง์ ํ
์คํธ ๋ฐ ๋ฒ์ ์ ๋ฆฌ | ๋ณดํธ | ํ๊ทธ ํ ์ญ์ |
> ๋ชจ๋ ์์
์ develop → feature ๋ธ๋์น์์ ์์
> ๊ธฐ๋ฅ ์๋ฃ → develop → main ์์ผ๋ก ๋จธ์ง
> PR ๋จธ์ง ํ ์๋์ผ๋ก ๋ธ๋์น ์ญ์ ๋ฉ๋๋ค
EOF
7๋จ๊ณ: ์ฒซ ์ปค๋ฐํ๊ณ ํธ์ (๋ง์ง๋ง!)
Bash
git add .
git commit -m "chore: init project with perfect branch strategy"
git push
๋! ์ด์ ๋น์ ๊นํ๋ธ ์ํ
- main (๋ณดํธ๋จ)
- develop (์ง๊ธ ์ฌ๊ธฐ์ ๊ฐ๋ฐ ์์!)
- .github ํด๋์ PR ํ ํ๋ฆฟ + ์๋ ๋ธ๋์น ์ญ์
- ์ต๊ณ ์ .gitignore
- ํฌํธํด๋ฆฌ์ค๊ธ README
์ง๊ธ ๋น์ฅ ์์ํ ์ฒซ feature ๋ธ๋์น ์์
Bash
git checkout develop
git checkout -b feature/lca-input-form
# ์ฌ๊ธฐ์ ์ฝ๋ฉ ์์!!!



์ฆ:
- ํ์๋ค์ feature ๋ธ๋์น์์ ์์
- ์์ ์ด ์ด๋ ์ ๋ ๋๋ฉด develop์ผ๋ก merge
- develop์์ ์ ์ฒด ํ ์คํธ
- ์์ ํ๋๋ฉด develop → main์ผ๋ก merge
์ง๊ธ ๋ํฌ ํ์ด ์ฌ๋ฌ ๋ช
์ด ๋์์ ์์
ํ๋ ๊ตฌ์กฐ๋ผ์
develop ๋ธ๋์น๋ฅผ ์ง๊ธ ๋ง๋ค์ด๋๋ฉด ์ถฉ๋ ๊ด๋ฆฌ๊ฐ ๋งค์ฐ ์ฌ์์ง.
develop ๋ธ๋์น๋ฅผ ์ง๊ธ ๋ง๋ค์ด๋๋ฉด ์ถฉ๋ ๊ด๋ฆฌ๊ฐ ๋งค์ฐ ์ฌ์์ง.
์์ผ๋ก ์ด๋ ๊ฒ ํ๋ฉด ๋ ๊ฑฐ ๊ฐ์์ develop์ผ๋ก mergeํ๊ณ ํ
์คํธํด์ ๋ฉ์ธ์ผ๋ก ๋์ด๊ฐ๋ ๊ฒ์ผ๋ก
git branch
git switch -c feature-lucy
git add .
git commit -m "feat: ์ฌ๊ธฐ ๋๊ฐ ํ ๋ด์ฉ ํ ์ค ์์ฝ"
git push -u origin feature-lucy
# 1. ์ ๋ธ๋์น ๋ง๋ค๊ณ ๋ฐ๋ก ๊ทธ ๋ธ๋์น๋ก ์ด๋ (ํ์ฌ main ๊ธฐ์ค์ผ๋ก)
git switch -c feature-brbr# 2. ๋๊ฐ ์์ ํ ํ์ผ๋ค ์ปค๋ฐ (์ด๋ฏธ ์ปค๋ฐ ์ ํ์ผ๋ฉด)
git add .
git commit -m "feat: ์ฌ๊ธฐ ๋๊ฐ ํ ๋ด์ฉ ํ ์ค ์์ฝ"# 3. ์๊ฒฉ์ ์ฒ์ ํธ์ + ํธ๋ํน ์ค์ (์ด๊ฑฐ ์ ์ผ ์ค์!)
git push -u origin feature-brbr
git switch -c feature-brbr# 2. ๋๊ฐ ์์ ํ ํ์ผ๋ค ์ปค๋ฐ (์ด๋ฏธ ์ปค๋ฐ ์ ํ์ผ๋ฉด)
git add .
git commit -m "feat: ์ฌ๊ธฐ ๋๊ฐ ํ ๋ด์ฉ ํ ์ค ์์ฝ"# 3. ์๊ฒฉ์ ์ฒ์ ํธ์ + ํธ๋ํน ์ค์ (์ด๊ฑฐ ์ ์ผ ์ค์!)
git push -u origin feature-brbr

'Project ESG+AI > [์ผ์ KPMG]ESG ๋ฐ์ดํฐ ํ์ฉ ํ์คํ ๊ฐ๋ฐ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| 33์ผ์ฐจ. ๋ฐฑ์๋์ ํ๋ก ํธ์๋๋ฅผ ์ฐ๊ฒฐํ์ (0) | 2025.11.24 |
|---|---|
| 32์ผ์ฐจ. ๋๋ฉ์ธ ์ฐ๊ฒฐํ๊ธฐ & ๋ฏธ๋ค์จ์ด (0) | 2025.11.21 |
| 30์ผ์ฐจ. (0) | 2025.11.19 |
| 29์ผ์ฐจ. ์๋ฌ ์ก๊ณ ํฐ๋ฏธ๋์ ์ ๋ ฅ๊ฐ ์ถ๋ ฅ๋๊ฒ ํ๊ธฐ, ๋์ปค ์ปดํฌ์ฆ ์ (1) | 2025.11.18 |
| 28์ผ์ฐจ. (0) | 2025.11.17 |