2025. 2. 5. 10:08ใGithub
default ๋ธ๋์น๋ฅผ ๋ณ๊ฒฝํ๊ณ , ๊นํ๋ธ ํ์ธํด๋ณด๋ 'Your developer_v2 branch isn't protected' ์ด๋ฐ ๊ฒฝ๊ณ ์ฐฝ์ด ๋ด๋ค.
๐ก ๋ฉ์์ง ๋จ๋ ์์ธ
์ด๊ฒ ๋ญ๊ฐ ํ๊ณ ๋ดค๋๋ developer_v2 ๋ธ๋์น๊ฐ ๊ฐ์ ํธ์๋ ์ง์ ํธ์ ๋ฑ์ด ๊ฐ๋ฅํ ์ํ๋ก, ๋ณดํธ๋์ง ์๋ ์ํ๋ผ๋ ๋ป์ด๋ค.
์ด ๋ฉ์์ง๋ ์ฃผ๋ก ๊นํ๋ธ์์ PR(Pull Request) ๋จธ์งํ ๋ ๋ํ๋๋ ๋ฉ์์ง๋ก ๊นํ๋ธ์์ protected branch ์ค์ ์ ํ๋ฉด PR๋ฅผ ํตํด์๋ง ์ฝ๋๊ฐ ๋ณํฉ๋๊ณ , ์ง์ ํธ์๋ฅผ ๋ง์ ์ ์๋ค.
๐ฉ๐ป๐ป Protect this branch ์ค์ ํด๋ณด๊ธฐ
1. GitHub ์ ์ฅ์(Repository)๋ก ์ด๋
2. Settings → Branches ์ ํ
3. "Branch protection rules"์์ "Add branch protection rule" ํด๋ฆญ
- Ruleset Name : ์ ์ฉํ Ruleset Name ์ค์
- Enforcement status : Active (๋ธ๋์น์ ๊ท์น ๋ฐ๋ก ์ ์ฉ๋จ)
- Bypass list : ์ด ๊ท์น์์ ์์ธํด์ผ ํ๋ ๋ชฉ๋ก์ ์ค์ ํ ์ ์์
- Targets : ๊ท์น์ ์ ์ฉํ ๋ชฉ๋ก์ ์ค์ ํ๋ ๊ณณ์ผ๋ก, ๋์์ ์ ์ฅ์๋ ๋ธ๋์น๋ฅผ ๋์์ผ๋ก ์ง์ ํ ์ ์์
(์ฐ์ ๋๋ Default ๋ธ๋์น๋ง ์ ์ฉํ๋๋ก ํจ)
- Rules : ๋ธ๋์น์ ๊ท์น์ ์ง์ ํ๋ ๋ถ๋ถ์ด๋ค.
Restrict creations
: ํน์ ๋ธ๋์น์ ๋ํด ์๋ก์ด ์ฐธ์กฐ(refs)๋ฅผ ์์ฑํ๋ ๊ฒ์ ์ ํํจ
-> ํด๋น ๋ธ๋์น์ ์๋ก์ด ๋ธ๋์น๋ฅผ ์์ฑํ๊ฑฐ๋ ํ๊ทธ๋ฅผ ์ถ๊ฐํ๋ ค๋ฉด "bypass permission"์ ๊ฐ์ง ์ฌ์ฉ์๋ง ๊ฐ๋ฅํ๊ฒ ๋ฉ๋๋ค
Restrict updates
: ํน์ ๋ธ๋์น์ ๋ํ ์
๋ฐ์ดํธ๋ฅผ ์ ํํจ
-> "bypass permission"์ ๊ฐ์ง ์ฌ์ฉ์๋ง ํด๋น ๋ธ๋์น์ ํธ์(push) ์์
์ ์ํํ ์ ์์
Restrict deletions โ
: ํน์ ๋ธ๋์น๋ฅผ ์ญ์ ํ๋ ๊ฒ์ ์ ํํจ
-> "bypass permission"์ ๊ฐ์ง ์ฌ์ฉ์๋ง ํด๋น ๋ธ๋์น๋ฅผ ์ญ์ ํ ์ ์์
Require linear history
: ๋ณํฉ ์ปค๋ฐ(merge commit)์ ๋ฐฉ์งํ๊ณ , ๋ธ๋์น์ ํ์คํ ๋ฆฌ๋ฅผ ์ ํ(linear)์ผ๋ก ์ ์งํจ
-> ๋ณํฉ ์ "squash" ๋๋ "rebase" ์ ๋ต๋ง ํ์ฉ๋๋ฉฐ, ๋ณต์กํ ํ์คํ ๋ฆฌ ๊ตฌ์กฐ๋ฅผ ๋ฐฉ์ง
Require deployments to succeed
: ํน์ ํ๊ฒฝ์ ์ฑ๊ณต์ ์ผ๋ก ๋ฐฐํฌ(deploy)๋ ํ์๋ง ๋ธ๋์น์ ํธ์๊ฐ ๊ฐ๋ฅํจ
-> ์์ ์ ์ธ ๋ฐฐํฌ ์ํ๋ฅผ ๋ณด์ฅํ๊ณ , ๋ฐฐํฌ ์คํจ ์ ์ฝ๋ ๋ณ๊ฒฝ์ ์ฐจ๋จํจ
Require signed commits
: ํด๋น ๋ธ๋์น๋ก ํธ์๋๋ ์ปค๋ฐ์ ๋ฐ๋์ ์๋ช
์ด ๊ฒ์ฆ๋ ์ํ์ฌ์ผ ํจ.
-> GPG ํค ๋ฑ์ ์ฌ์ฉํ์ฌ ์ปค๋ฐ์ ์ ๋ขฐ์ฑ์ ๋ณด์ฅํ๋ฉฐ, ๋ฌด๋จ ๋ณ๊ฒฝ์ ๋ฐฉ์งํจ.
Require a pull request before merging โ
: ๋ชจ๋ ์ปค๋ฐ์ ๋ณ๋์ ๋ธ๋์น์์ ์์ฑ๋์ด์ผ ํ๋ฉฐ, ํ ๋ฆฌํ์คํธ(Pull Request)๋ฅผ ํตํด ๋ณํฉ๋์ด์ผ ํจ.
-> ์ง์ ํธ์๋ฅผ ๋ฐฉ์งํ๊ณ ์ฝ๋ ๋ฆฌ๋ทฐ๋ฅผ ๊ฐ์ ํ์ฌ ํ์ง ๊ด๋ฆฌ๋ฅผ ๊ฐํํจ
Require status checks to pass
: ํน์ ์ํ ํ์ธ(Status Check)์ด ํต๊ณผ๋ ํ์๋ง ๋ธ๋์น๋ฅผ ์
๋ฐ์ดํธํ ์ ์์.
-> CI/CD ํ
์คํธ๋ ๋น๋ ๊ฒ์ฆ์ด ์๋ฃ๋ ๊ฒฝ์ฐ์๋ง ๋ณ๊ฒฝ ์ฌํญ์ด ์ ์ฉ๋จ.
Block force pushes โ
: ๊ฐ์ ํธ์(force push)๋ฅผ ๊ธ์งํจ.
-> ๊ธฐ์กด ์ปค๋ฐ ํ์คํ ๋ฆฌ๊ฐ ๋ฎ์ด์์์ง๋ ๊ฒ์ ๋ฐฉ์งํ์ฌ ๋ฐ์ดํฐ ์์ค ์ํ์ ์ค์
Require code scanning results
: ์ฝ๋ ์ค์บ๋ ๋๊ตฌ์ ๊ฒฐ๊ณผ๊ฐ ํ์ธ๋ ํ์๋ง ๋ธ๋์น๋ฅผ ์
๋ฐ์ดํธํ ์ ์์
-> ์ฝ๋ ํ์ง ๋ฐ ๋ณด์ ๋ฌธ์ ๋ฅผ ์ฌ์ ์ ํ์งํ์ฌ ์์ ์ฑ์ ๋์.
์ ์ฉํ Rule ๋ค์ ์ ํํ ๋ค์ create ํ๋ฉด ์ด๋ ๊ฒ Rule ์ด์์ฑ๋๋ ๊ฒ์ ํ์ธํ ์ ์๋ค.
'Github' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Git Contribution graph ๋ฐ์ ์๋จ ํด๊ฒฐ (0) | 2022.04.19 |
---|---|
[Github] Github ํ๋กํ์ Daily ์ฝ๋ฉ ์๊ฐ ๋ํ๋ด๋ ๋ฐฉ๋ฒ (0) | 2022.02.16 |