Pygithub: Branch.delete() ๋ฉ”์„œ๋“œ ์ถ”๊ฐ€

์— ๋งŒ๋“  2019๋…„ 10์›” 15์ผ  ยท  3์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: PyGithub/PyGithub

์ด๋ฆ„์œผ๋กœ ๋ถ„๊ธฐ ๋ชฉ๋ก์„ ๋ฐ˜๋ณตํ•˜๋Š” ๊ฒฝ์šฐ ์ง์ ‘ ์‚ญ์ œํ•  ์ˆ˜ ์žˆ์œผ๋ฉด ํŽธ๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

# Example 1
repo.get_branch('feature-branch-1').delete()

# Example 2
for branch in repo.get_branches():
    if some_condition:
        branch.delete()

ํ˜„์žฌ ๋ถ„๊ธฐ๋ฅผ ์‚ญ์ œํ•  ์ˆ˜ ์žˆ๋Š” ์œ ์ผํ•œ ๋ฐฉ๋ฒ•์€ repo.get_git_ref() ๋ฅผ ํ˜ธ์ถœํ•˜์—ฌ ๋ถ„๊ธฐ์— ๋Œ€ํ•œ ์ฐธ์กฐ๋ฅผ ์–ป์€ ๋‹ค์Œ ๋ฐ˜ํ™˜๋œ ๊ฐœ์ฒด์—์„œ .delete() ๋ฅผ ํ˜ธ์ถœํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋‚ด๊ฐ€ ์ œ์•ˆํ•˜๋Š” ๊ฒƒ์€ ์ด ๋ฐฉ๋ฒ•์„ ๋ณด์™„ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

์ด๋ฆ„์œผ๋กœ ๋ถ„๊ธฐ ๋ชฉ๋ก์„ ๋ฐ˜๋ณตํ•˜๋Š” ๊ฒฝ์šฐ ์ง์ ‘ ์‚ญ์ œํ•  ์ˆ˜ ์žˆ์œผ๋ฉด ํŽธ๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

# Example 1
repo.get_branch('feature-branch-1').delete()

# Example 2
for branch in repo.get_branches():
    if some_condition:
        branch.delete()

ํ˜„์žฌ ๋ถ„๊ธฐ๋ฅผ ์‚ญ์ œํ•  ์ˆ˜ ์žˆ๋Š” ์œ ์ผํ•œ ๋ฐฉ๋ฒ•์€ repo.get_git_ref() ๋ฅผ ํ˜ธ์ถœํ•˜์—ฌ ๋ถ„๊ธฐ์— ๋Œ€ํ•œ ์ฐธ์กฐ๋ฅผ ์–ป์€ ๋‹ค์Œ ๋ฐ˜ํ™˜๋œ ๊ฐœ์ฒด์—์„œ .delete() ๋ฅผ ํ˜ธ์ถœํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋‚ด๊ฐ€ ์ œ์•ˆํ•˜๋Š” ๊ฒƒ์€ ์ด ๋ฐฉ๋ฒ•์„ ๋ณด์™„ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์ด ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ•˜๋ฉด ๋งค์šฐ ์œ ์šฉํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๋ชจ๋“  3 ๋Œ“๊ธ€

์ด ๋ฌธ์ œ๋Š” ์ตœ๊ทผ ํ™œ๋™์ด ์—†์—ˆ๊ธฐ ๋•Œ๋ฌธ์— ์ž๋™์œผ๋กœ ์˜ค๋ž˜๋œ ๊ฒƒ์œผ๋กœ ํ‘œ์‹œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋” ์ด์ƒ ํ™œ๋™์ด ์—†์œผ๋ฉด ํ์‡„๋ฉ๋‹ˆ๋‹ค. ๊ท€ํ•˜์˜ ๊ธฐ์—ฌ์— ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค.

์ด๋ฆ„์œผ๋กœ ๋ถ„๊ธฐ ๋ชฉ๋ก์„ ๋ฐ˜๋ณตํ•˜๋Š” ๊ฒฝ์šฐ ์ง์ ‘ ์‚ญ์ œํ•  ์ˆ˜ ์žˆ์œผ๋ฉด ํŽธ๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

# Example 1
repo.get_branch('feature-branch-1').delete()

# Example 2
for branch in repo.get_branches():
    if some_condition:
        branch.delete()

ํ˜„์žฌ ๋ถ„๊ธฐ๋ฅผ ์‚ญ์ œํ•  ์ˆ˜ ์žˆ๋Š” ์œ ์ผํ•œ ๋ฐฉ๋ฒ•์€ repo.get_git_ref() ๋ฅผ ํ˜ธ์ถœํ•˜์—ฌ ๋ถ„๊ธฐ์— ๋Œ€ํ•œ ์ฐธ์กฐ๋ฅผ ์–ป์€ ๋‹ค์Œ ๋ฐ˜ํ™˜๋œ ๊ฐœ์ฒด์—์„œ .delete() ๋ฅผ ํ˜ธ์ถœํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋‚ด๊ฐ€ ์ œ์•ˆํ•˜๋Š” ๊ฒƒ์€ ์ด ๋ฐฉ๋ฒ•์„ ๋ณด์™„ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์ด ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ•˜๋ฉด ๋งค์šฐ ์œ ์šฉํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๋ˆ„๊ตฐ๊ฐ€์—๊ฒŒ ์œ ์šฉํ•œ ๊ฒฝ์šฐ์— ๋Œ€๋น„ํ•˜์—ฌ ๋ถ„๊ธฐ๋ฅผ ์‚ญ์ œํ•˜๋Š” ๋น ๋ฅธ ํ•ด๊ฒฐ ๊ธฐ๋Šฅ:

from github.GithubException import UnknownObjectException

def delete_branch(branch_name):
    try:
        ref = repo.get_git_ref(f"heads/{branch_name}")
        ref.delete()
    except UnknownObjectException:
        print('No such branch', branch_name)


branch_name = "br-0004"
delete_branch(branch_name)
์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰