Git ์„œ๋ฒ„ ์ง์ ‘ ์šด์˜๊ณผ Bitbucket ๊ฐœ๋… ๋ณด๊ณ ์„œ

1. ๊ฐœ์š”

์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ์—์„œ ์†Œ์Šค ์ฝ”๋“œ ๊ด€๋ฆฌ๋Š” ํ•„์ˆ˜์ ์ด๋ฉฐ, Git์€ ๊ฐ€์žฅ ๋„๋ฆฌ ์‚ฌ์šฉ๋˜๋Š” ๋ฒ„์ „ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ์ด๋‹ค. ๋ณธ ๋ณด๊ณ ์„œ์—์„œ๋Š” Git ์„œ๋ฒ„๋ฅผ ์ง์ ‘ ์šด์˜ํ•˜๋Š” ๋ฐฉ๋ฒ•๊ณผ Atlassian์˜ Bitbucket์„ ํ™œ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ๊ฐœ๋…์„ ์ •๋ฆฌํ•œ๋‹ค.

2. Git ์„œ๋ฒ„ ์ง์ ‘ ์šด์˜

2.1 Git ์„œ๋ฒ„ ๊ฐœ๋…

Git ์„œ๋ฒ„๋ฅผ ์ง์ ‘ ์šด์˜ํ•œ๋‹ค๋Š” ๊ฒƒ์€, GitHub, GitLab, Bitbucket ๊ฐ™์€ ํด๋ผ์šฐ๋“œ ๊ธฐ๋ฐ˜ ์›๊ฒฉ ์ €์žฅ์†Œ๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ , ์ž์ฒด ์„œ๋ฒ„์—์„œ Git์„ ํ˜ธ์ŠคํŒ…ํ•˜์—ฌ ๋ฒ„์ „ ๊ด€๋ฆฌ๋ฅผ ์ˆ˜ํ–‰ํ•˜๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค.

2.2 Git ์„œ๋ฒ„ ์„ค์น˜ ๋ฐ ์šด์˜ ๋ฐฉ์‹

  1. ์„œ๋ฒ„ ํ™˜๊ฒฝ ๊ตฌ์ถ•
    • ๋ฆฌ๋ˆ…์Šค ์„œ๋ฒ„ (Ubuntu, CentOS, Raspberry Pi ๋“ฑ) ๋˜๋Š” Windows ์„œ๋ฒ„ ์ค€๋น„
    • SSH๋ฅผ ํ†ตํ•œ ์›๊ฒฉ ์ ‘๊ทผ ์„ค์ •
  2. Git ์„ค์น˜ ๋ฐ ์ €์žฅ์†Œ ์ƒ์„ฑ
    sudo apt update
    sudo apt install git
    mkdir -p /home/git/myrepo.git
    cd /home/git/myrepo.git
    git init --bare
    
  3. ์‚ฌ์šฉ์ž ์ ‘๊ทผ ๊ถŒํ•œ ์„ค์ •
    • SSH ํ‚ค๋ฅผ ์‚ฌ์šฉํ•œ ์‚ฌ์šฉ์ž ์ธ์ฆ
    • Git ๊ณ„์ • ๊ด€๋ฆฌ ๋ฐ ์ ‘๊ทผ ์ œ์–ด
  4. ํด๋ผ์ด์–ธํŠธ์—์„œ ์›๊ฒฉ ์ €์žฅ์†Œ ์—ฐ๊ฒฐ ๋ฐ ์‚ฌ์šฉ
    git clone ssh://user@yourserver.com:/home/git/myrepo.git
    git remote add origin ssh://user@yourserver.com:/home/git/myrepo.git
    git push origin main
    

2.3 Git ์„œ๋ฒ„ ์ง์ ‘ ์šด์˜์˜ ์žฅ์ ๊ณผ ๋‹จ์ 

์žฅ์  ๋‹จ์ 
๋ฐ์ดํ„ฐ ๋ณด์•ˆ ๊ฐ•ํ™” (์ž์ฒด ๊ด€๋ฆฌ) ์„œ๋ฒ„ ์œ ์ง€๋ณด์ˆ˜ ํ•„์š”
๋น„์šฉ ์ ˆ๊ฐ (๋ฌด๋ฃŒ ์šด์˜ ๊ฐ€๋Šฅ) ์ดˆ๊ธฐ ์„ค์ •์ด ๋ณต์žกํ•จ
๋‚ด๋ถ€ ๋„คํŠธ์›Œํฌ์—์„œ ์•ˆ์ „ํ•œ ์‚ฌ์šฉ ๊ฐ€๋Šฅ ์ ‘๊ทผ ๊ถŒํ•œ ๋ฐ ์ธ์ฆ ๊ด€๋ฆฌ ํ•„์š”
๋งž์ถคํ˜• ์ปค์Šคํ„ฐ๋งˆ์ด์ง• ๊ฐ€๋Šฅ CI/CD ์—ฐ๋™ ์„ค์ •์ด ํ•„์š”ํ•จ

3. Bitbucket ๊ฐœ๋…

3.1 Bitbucket ์†Œ๊ฐœ

Bitbucket์€ Atlassian์—์„œ ์ œ๊ณตํ•˜๋Š” Git ๊ธฐ๋ฐ˜ ์›๊ฒฉ ์ €์žฅ์†Œ ์„œ๋น„์Šค๋กœ, ๊ฐœ๋ฐœ์ž ํ˜‘์—…๊ณผ ์ฝ”๋“œ ๊ด€๋ฆฌ๋ฅผ ์ง€์›ํ•˜๋Š” ํ”Œ๋žซํผ์ด๋‹ค. GitHub ๋ฐ GitLab๊ณผ ์œ ์‚ฌํ•˜์ง€๋งŒ, Jira ๋ฐ Confluence์™€์˜ ์—ฐ๋™์ด ๊ฐ•์ ์ด๋‹ค.

3.2 Bitbucket์˜ ์ฃผ์š” ๊ธฐ๋Šฅ

  • Git ์ €์žฅ์†Œ ํ˜ธ์ŠคํŒ…: ์ค‘์•™ ์ง‘์ค‘ํ˜• ์›๊ฒฉ ์ €์žฅ์†Œ ์ œ๊ณต
  • Jira ์—ฐ๋™: ์ด์Šˆ ํŠธ๋ž˜ํ‚น ๋ฐ ํ”„๋กœ์ ํŠธ ๊ด€๋ฆฌ ๊ธฐ๋Šฅ ์ง€์›
  • CI/CD ์ง€์›: Bitbucket Pipelines๋ฅผ ํ†ตํ•œ ์ž๋™ํ™” ๊ฐ€๋Šฅ
  • ํŒ€ ํ˜‘์—…: ์ฝ”๋“œ ๋ฆฌ๋ทฐ, PR(Pull Request), ๊ถŒํ•œ ๊ด€๋ฆฌ ์ œ๊ณต

3.3 Bitbucket ์‚ฌ์šฉ ๋ฐฉ๋ฒ•

  1. ๊ณ„์ • ์ƒ์„ฑ ๋ฐ ์ €์žฅ์†Œ ์ƒ์„ฑ
    • bitbucket.org์— ๊ฐ€์ž… ํ›„ ์ƒˆ๋กœ์šด Git ์ €์žฅ์†Œ ์ƒ์„ฑ
  2. Git ์ €์žฅ์†Œ ์—ฐ๊ฒฐ ๋ฐ ์ฝ”๋“œ ์—…๋กœ๋“œ
    git clone https://username@bitbucket.org/your-repo.git
    git remote add origin https://username@bitbucket.org/your-repo.git
    git push -u origin main
    
  3. ํŒ€ ํ˜‘์—… ๋ฐ ์ฝ”๋“œ ๋ฆฌ๋ทฐ
    • Pull Request(PR) ์ƒ์„ฑ ๋ฐ ์ฝ”๋“œ ๋ฆฌ๋ทฐ ์š”์ฒญ
    • Jira์™€ ์—ฐ๋™ํ•˜์—ฌ ์ž‘์—… ์ด์Šˆ ์ถ”์ 

3.4 Bitbucket์˜ ์žฅ์ ๊ณผ ๋‹จ์ 

์žฅ์  ๋‹จ์ 
Jira ๋ฐ Confluence์™€ ๊ฐ•๋ ฅํ•œ ์—ฐ๋™ ๋ฌด๋ฃŒ ํ”Œ๋žœ์˜ ๊ธฐ๋Šฅ ์ œํ•œ
Bitbucket Pipelines๋กœ CI/CD ๊ตฌํ˜„ ๊ฐ€๋Šฅ GitHub ๋Œ€๋น„ ์ปค๋ฎค๋‹ˆํ‹ฐ ๊ทœ๋ชจ๊ฐ€ ์ž‘์Œ
ํ”„๋ผ์ด๋น— ์ €์žฅ์†Œ๋ฅผ ๊ธฐ๋ณธ ์ œ๊ณต UI๊ฐ€ GitHub๋ณด๋‹ค ๋‹ค์†Œ ๋ณต์žก

4. Git ์„œ๋ฒ„ ์ง์ ‘ ์šด์˜ vs Bitbucket ๋น„๊ต

๋น„๊ต ํ•ญ๋ชฉ Git ์„œ๋ฒ„ ์ง์ ‘ ์šด์˜ Bitbucket
์„ค์น˜ ๋ฐ ์œ ์ง€๋ณด์ˆ˜ ์ง์ ‘ ์„ค์น˜ ๋ฐ ์œ ์ง€๋ณด์ˆ˜ ํ•„์š” Atlassian์ด ๊ด€๋ฆฌ
๋ณด์•ˆ ๋ฐ ๋ฐ์ดํ„ฐ ๊ด€๋ฆฌ ์ž์ฒด ์„œ๋ฒ„์—์„œ ์™„์ „ํ•œ ํ†ต์ œ ๊ฐ€๋Šฅ ํด๋ผ์šฐ๋“œ ์„œ๋น„์Šค ๋ณด์•ˆ ์ ์šฉ
๋น„์šฉ ํ•˜๋“œ์›จ์–ด ๋ฐ ๋„คํŠธ์›Œํฌ ๋น„์šฉ ํ•„์š” ๊ธฐ๋ณธ ๋ฌด๋ฃŒ ํ”Œ๋žœ ์ œ๊ณต, ์œ ๋ฃŒ ๊ธฐ๋Šฅ ํฌํ•จ
ํ˜‘์—… ๊ธฐ๋Šฅ ์ง์ ‘ ์„ค์ • ํ•„์š” (GitLab CE, Gitea ํ™œ์šฉ ๊ฐ€๋Šฅ) Pull Request, ์ฝ”๋“œ ๋ฆฌ๋ทฐ ์ง€์›
CI/CD ์ง€์› ์ถ”๊ฐ€ ์„ค์ • ํ•„์š” (Jenkins, GitHub Actions ๋“ฑ๊ณผ ์—ฐ๋™) Bitbucket Pipelines ๊ธฐ๋ณธ ์ œ๊ณต

5. ๊ฒฐ๋ก 

Git ์„œ๋ฒ„๋ฅผ ์ง์ ‘ ์šด์˜ํ•˜๋Š” ๊ฒƒ์€ ๋ฐ์ดํ„ฐ ๋ณด์•ˆ๊ณผ ์ปค์Šคํ„ฐ๋งˆ์ด์ง•์ด ํ•„์š”ํ•œ ํ™˜๊ฒฝ์—์„œ ์œ ์šฉํ•˜์ง€๋งŒ, ์œ ์ง€๋ณด์ˆ˜์™€ ์ดˆ๊ธฐ ์„ค์ •์ด ๋ณต์žกํ•  ์ˆ˜ ์žˆ๋‹ค. ๋ฐ˜๋ฉด, Bitbucket์€ ๊ฐ„ํŽธํ•œ ํ˜‘์—…๊ณผ Jira ์—ฐ๋™์„ ๊ฐ•์ ์œผ๋กœ ๊ฐ€์ง€๋ฉฐ, CI/CD ๊ธฐ๋Šฅ๊นŒ์ง€ ๊ธฐ๋ณธ ์ œ๊ณตํ•˜์—ฌ ํšจ์œจ์ ์ธ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ์„ ๊ตฌ์ถ•ํ•  ์ˆ˜ ์žˆ๋‹ค. ์„ ํƒ์€ ํ”„๋กœ์ ํŠธ์˜ ์š”๊ตฌ ์‚ฌํ•ญ๊ณผ ์šด์˜ ํ™˜๊ฒฝ์— ๋”ฐ๋ผ ๋‹ฌ๋ผ์งˆ ๊ฒƒ์ด๋‹ค.