Git Cooperation
๋ฐœํ‘œ์ž : DSC Ewha Lead ๊น€๋ฏผ์ •
Git์„ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ 
Version Control System
(๋ฒ„์ „ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ)
Git์„ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ 
Version Control System
(๋ฒ„์ „ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ)
๊ธฐ๋Šฅ ๊ฐœ์„  / ๋ฒ„๊ทธ ์ˆ˜์ • / SW ์ปค์Šคํ„ฐ๋งˆ์ด์ง•
Git์„ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ 
Version Control System
(๋ฒ„์ „ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ)
๊ธฐ๋Šฅ ๊ฐœ์„  / ๋ฒ„๊ทธ ์ˆ˜์ • / SW ์ปค์Šคํ„ฐ๋งˆ์ด์ง•
์˜๋ฏธ ์žˆ๋Š” ๋ณ€ํ™” ์ €์žฅ
1. ํ”„๋กœ์ ํŠธ์˜ ๋ณ€๊ฒฝ๊ด€๋ฆฌ
์ฝ”๋“œ๊ด€๋ฆฌ
Git์„ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ 
Version Control System
(๋ฒ„์ „ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ)
๊ธฐ๋Šฅ ๊ฐœ์„  / ๋ฒ„๊ทธ ์ˆ˜์ • / SW ์ปค์Šคํ„ฐ๋งˆ์ด์ง•
์˜๋ฏธ ์žˆ๋Š” ๋ณ€ํ™” ์ €์žฅ
1. ํ”„๋กœ์ ํŠธ์˜ ๋ณ€๊ฒฝ๊ด€๋ฆฌ
์ฝ”๋“œ๊ด€๋ฆฌ
2. ํ”„๋กœ์ ํŠธ์˜ ๋ฒ„์ „๊ด€๋ฆฌ
๋˜๋Œ์•„๊ฐ€๊ธฐ
Git์„ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ 
Version Control System
(๋ฒ„์ „ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ)
๊ธฐ๋Šฅ ๊ฐœ์„  / ๋ฒ„๊ทธ ์ˆ˜์ • / SW ์ปค์Šคํ„ฐ๋งˆ์ด์ง•
์˜๋ฏธ ์žˆ๋Š” ๋ณ€ํ™” ์ €์žฅ
1. ํ”„๋กœ์ ํŠธ์˜ ๋ณ€๊ฒฝ๊ด€๋ฆฌ
์ฝ”๋“œ๊ด€๋ฆฌ
2. ํ”„๋กœ์ ํŠธ์˜ ๋ฒ„์ „๊ด€๋ฆฌ
๋˜๋Œ์•„๊ฐ€๊ธฐ
3. ํ”„๋กœ์ ํŠธ์˜ ํ˜‘์—…
ํŒ€ ํ”„๋กœ์ ํŠธ
ํ˜„์ฃผ
๋ฏผ์ •
๋ฏผ์ •
์ฃผํ˜œ
๋ฏผ์ •
์˜ˆ๋ฆผ
์˜ˆ๋ฆผ
์ฃผํ˜œ
ํ˜„์ฃผ
ํ˜„์ฃผ
๋ฒ„์ „๊ด€๋ฆฌ tool
Git์„ ์‚ฌ์šฉํ•˜๋Š” Project๋ฅผ ๊ฐ€์‹œ์ ์œผ๋กœ
๋ณด๊ธฐ ์œ„ํ•œ ์†Œ์Šค ๊ณต์œ  Service
https://github.com/https://git-scm.com/
1. git ์ปค๋งจ๋“œ๋ฅผ ์ด์šฉํ•ด์„œ ์—ฌ๋Ÿฌ ์‚ฌ๋žŒ์ด ํ˜‘์—…ํ•˜๊ธฐ
2. github๋ฅผ ์ด์šฉํ•ด์„œ ์—ฌ๋Ÿฌ ์‚ฌ๋žŒ์ด ํ˜‘์—…ํ•˜๊ธฐ
: ์‚ฌ์‹ค์ƒ 1๋ฒˆ์„ web์—์„œ ํ•˜๋Š” ๊ฒƒ์ด์ง€๋งŒ ์กฐ๊ธˆ ๋” ์ง๊ด€์ 
1. git ์ปค๋งจ๋“œ๋ฅผ ์ด์šฉํ•ด์„œ ์—ฌ๋Ÿฌ ์‚ฌ๋žŒ์ด ํ˜‘์—…ํ•˜๊ธฐ
2. github๋ฅผ ์ด์šฉํ•ด์„œ ์—ฌ๋Ÿฌ ์‚ฌ๋žŒ์ด ํ˜‘์—…ํ•˜๊ธฐ
: ์‚ฌ์‹ค์ƒ 1๋ฒˆ์„ web์—์„œ ํ•˜๋Š” ๊ฒƒ์ด์ง€๋งŒ ์กฐ๊ธˆ ๋” ์ง๊ด€์ 
๊ทธ๋Ÿฌ๋‚˜ ํ˜‘์—…์„ ํ•˜๋‹ค๊ฐ€ conflict(์ถฉ๋Œ)์ด ๋‚  ๊ฒฝ์šฐ ๊ฐ„๋‹จํ•œ ์ฝ”๋“œ๋งŒ ํ•ด๊ฒฐ ๊ฐ€๋Šฅ
> conflict code ์ค„ ์ˆ˜๊ฐ€ ๋งŽ์€ ๊ฒฝ์šฐ ๊ฒฐ๊ตญ์€ 1์„ ์‚ฌ์šฉํ•ด์•ผ ํ•จ
๋ธŒ๋žœ์น˜๋ž€?
SW ๊ฐœ๋ฐœํ•  ๋•Œ ๊ฐœ๋ฐœ์ž๋“ค์€
๊ฐ™์€ ์†Œ์Šค์ฝ”๋“œ๋ฅผ ํ•จ๊ป˜ ๊ณต์œ ํ•˜๊ณ  ์ฝ”๋”ฉํ•œ๋‹ค!
๊ฐ™์€ ์†Œ์Šค์ฝ”๋“œ์—์„œ ์ถœ๋ฐœํ•ด์„œ
- A๋Š” ๋ฒ„๊ทธ๋ฅผ ์ˆ˜์ •
- B๋Š” ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ ์ถ”๊ฐ€
์—ฌ๋Ÿฌ ๊ฐœ๋ฐœ์ž๋“ค์ด ๋™์‹œ์— ๋‹ค์–‘ํ•œ ์ž‘์—…์„ ํ•  ์ˆ˜ ์žˆ๋‹ค!
๋ธŒ๋žœ์น˜๋ž€?
Branch : release
๋‹ค๋ฅธ ์‚ฌ๋žŒ์˜ ์ž‘์—…์— ์˜ํ–ฅ์„ ์ฃผ๊ฑฐ๋‚˜ ๋ฐ›์ง€ ์•Š๋Š”๋‹ค.
์—ฌ๋Ÿฌ ์‚ฌ๋žŒ์ด B์ปค๋ฐ‹์˜ ์†Œ์Šค์ฝ”๋“œ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ
์„œ๋กœ ๋‹ค๋ฅธ ์ž‘์—…์„ ํ•œ๋‹ค
๋จผ์ € ๋ฉ”์ธ ๋ธŒ๋žœ์น˜(master)์—์„œ
์ž์‹ ์˜ ์ž‘์—… ์ „์šฉ ๋ธŒ๋žœ์น˜ (release, func1, bugFix)๋ฅผ ๋งŒ๋“ ๋‹ค.
Branch : func1
Branch : bugFix
Branch : master
๋ธŒ๋žœ์น˜๋กœ ํ˜‘์—…ํ•˜๊ธฐ
๋ธŒ๋žœ์น˜๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ 
๋‹ค๋ฅธ ๋ธŒ๋žœ์น˜์™€ ๋ณ‘ํ•ฉ(Merge)ํ•จ์œผ๋กœ์จ,
์ž‘์—…ํ•œ ๋‚ด์šฉ์„ ์ƒˆ๋กœ์šด ํ•˜๋‚˜์˜ ๋ธŒ๋žœ์น˜๋กœ ๋ชจ์„ ์ˆ˜ ์žˆ๋‹ค
๋ธŒ๋žœ์น˜๋กœ ํ˜‘์—…ํ•˜๊ธฐ
1. ๊ฐ์ž ์ž์‹ ์˜ ๋ธŒ๋žœ์น˜์—์„œ ์ž‘์—… ์ง„ํ–‰ (release, func1, bugFix)
2. ๋ฉ”์ธ ๋ธŒ๋žœ์น˜(master)์— ์ž์‹ ์˜ ๋ธŒ๋žœ์น˜ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ์ ์šฉ!
๋ธŒ๋žœ์น˜๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ 
๋‹ค๋ฅธ ๋ธŒ๋žœ์น˜์™€ ๋ณ‘ํ•ฉ(Merge)ํ•จ์œผ๋กœ์จ,
์ž‘์—…ํ•œ ๋‚ด์šฉ์„ ์ƒˆ๋กœ์šด ํ•˜๋‚˜์˜ ๋ธŒ๋žœ์น˜๋กœ ๋ชจ์„ ์ˆ˜ ์žˆ๋‹คBranch : release
Branch : func1
Branch : bugFix
Branch : master
๋ธŒ๋žœ์น˜๋กœ ํ˜‘์—…ํ•˜๊ธฐ
A B W Y Z
C
O
X
T
G
F
Branch : release
Branch : func1
Branch : bugFix
Branch : master
๋ฆด๋ฆฌ์ฆˆ ๋ฒ„์ „ ์ด๋ ฅ
๊ธฐ๋Šฅ ์ถ”๊ฐ€ ์ด๋ ฅ
๋ฒ„๊ทธ ์ˆ˜์ • ์ด๋ ฅ
๋ธŒ๋žœ์น˜๋กœ ํ˜‘์—…ํ•˜๊ธฐ
๋‹ค๋ฅธ ์‚ฌ๋žŒ์˜ ์ž‘์—…์— ์˜ํ–ฅ์„ ๋ฐ›์ง€ ์•Š๊ณ 
๋…๋ฆฝ์ ์œผ๋กœ ํŠน์ • ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜์—ฌ
๊ทธ ๊ฒฐ๊ณผ๋ฅผ ํ•˜๋‚˜๋กœ ๋ชจ์„ ์ˆ˜ ์žˆ๋‹ค.
github๋กœ ๋ธŒ๋žœ์น˜ ํ˜‘์—…ํ•˜๊ธฐ
1. ํ˜‘์—… ํ•˜๋ ค๋Š” git repository ํด๋ฆญ
2. settings ํด๋ฆญ
3. collaborators ํด๋ฆญ
4. ํŒ€์› github ์•„์ด๋”” ์ดˆ๋Œ€
github๋กœ ๋ธŒ๋žœ์น˜ ํ˜‘์—…ํ•˜๊ธฐ
1. Code๋กœ ๊ฐ€๊ธฐ
2. Clone and download ํด๋ฆญ
3. Git bash์—์„œ clone ๋ช…๋ น์–ด ์ž…๋ ฅ
$ git clone [๋ณต์‚ฌํ•œ ๋‚ด์šฉ]
github๋กœ ๋ธŒ๋žœ์น˜ ํ˜‘์—…ํ•˜๊ธฐ
ํ˜„์žฌ ํด๋”์˜ ๋‚ด์šฉ : github repository์˜ ๋‚ด์šฉ
github๋กœ ๋ธŒ๋žœ์น˜ ํ˜‘์—…ํ•˜๊ธฐ
ํ˜„์žฌ master ๋ธŒ๋žœ์น˜์— ์žˆ์Œ (default)
$ git branch [๋ธŒ๋žœ์น˜๋ช…]
notice๋ผ๋Š” ์ด๋ฆ„์˜ branch ์ƒ์„ฑ
$ git branch
ํ˜„์žฌ ๋‚ด local branch ๋ฆฌ์ŠคํŠธ ํ™•์ธ
$ git checkout [๋ธŒ๋žœ์น˜๋ช…]
notice ๋ธŒ๋žœ์น˜๋กœ ์ด๋™! : ๋‚œ ์ง€๊ธˆ๋ถ€ํ„ฐ notice ๋ธŒ๋žœ์น˜์—์„œ ์ž‘์—…ํ• ๋ž˜
github๋กœ ๋ธŒ๋žœ์น˜ ํ˜‘์—…ํ•˜๊ธฐ
์ƒˆ ํŒŒ์ผ ์ƒ์„ฑ! : notice 1007
ํ˜„์žฌ ๋ธŒ๋žœ์น˜: notice
๊ธฐ์กด ํŒŒ์ผ ์ˆ˜์ •! : Notice-Text
github๋กœ ๋ธŒ๋žœ์น˜ ํ˜‘์—…ํ•˜๊ธฐ
์ƒˆ ํŒŒ์ผ ์ƒ์„ฑ! : notice 1007
ํ˜„์žฌ ๋ธŒ๋žœ์น˜: notice
๊ธฐ์กด ํŒŒ์ผ ์ˆ˜์ •! : Notice-Text ( ํ•œ ์ค„ ์ถ”๊ฐ€ํ•จ )
github๋กœ ๋ธŒ๋žœ์น˜ ํ˜‘์—…ํ•˜๊ธฐ
ํ˜„์žฌ ๋ณ€๊ฒฝ์‚ฌํ•ญ ํ™•์ธ
$ git status
ํ˜„์žฌ ๋ณ€๊ฒฝ์ด ์žˆ๋Š” ํŒŒ์ผ๋“ค ๋ชจ๋‘ commit ๋Œ€๊ธฐ๋กœ ์ถ”๊ฐ€
$ git add .
โ€œnotice ์ถ”๊ฐ€ ๋ฐ ์ˆ˜์ •โ€ ์ด๋ž€ ์ด๋ฆ„์˜ version์œผ๋กœ ์ €์žฅ
$ git commit
github๋กœ ๋ธŒ๋žœ์น˜ ํ˜‘์—…ํ•˜๊ธฐ
์›๊ฒฉ ์ €์žฅ์†Œ (github repository)์— ์ €์žฅ
$ git push
์ฒ˜์Œ ๋งŒ๋“ค์–ด์ง„ ๋ธŒ๋žœ์น˜๊ฐ€ github์— push๋  ๋•Œ๋Š” ๋‹ค
์Œ๊ณผ ๊ฐ™์ด gitbash์˜ ๋ง์— ๋”ฐ๋ผ
$ git push --set-upstream origin notice
origin (pushํ•˜๋ ค๋Š” dsc-git repository์˜ ๋ณ„๋ช…)
notcie (push ํ•˜๋ ค๋Š” branch ์ด๋ฆ„)
github๋กœ ๋ธŒ๋žœ์น˜ ํ˜‘์—…ํ•˜๊ธฐ
ํ˜„์žฌ ๊ธฐ๋ณธ ๋ธŒ๋žœ์น˜์ธ master์™€
Notice ๋ธŒ๋žœ์น˜์™€ ๋ณ‘ํ•ฉ (merge) ํ• 
์š”์ฒญ์„ ๋งŒ๋“ค์ง€ ๋ฌผ์–ด๋ณธ๋‹ค!
pull request
github๋กœ ๋ธŒ๋žœ์น˜ ํ˜‘์—…ํ•˜๊ธฐ
pull request ์ƒ์„ฑ
Notice ๋ธŒ๋žœ์น˜์˜ ๋‚ด์šฉ์„
master ๋ธŒ๋žœ์น˜์™€ ํ•ฉ์น˜๊ณ 
๊ทธ ๋‚ด์šฉ์„ master์— ๋„ฃ์„๋ž˜
๋ผ๋Š” ์š”์ฒญ์„ ๋งŒ๋“ค๊ฒ ์–ด!
able to merge!
github๋กœ ๋ธŒ๋žœ์น˜ ํ˜‘์—…ํ•˜๊ธฐ
ํŒ€์›๋“ค์ด ์ด Pull Request๋ฅผ ๋ณด๊ณ 
์˜ค์ผ€์ด!!! ์ข‹์•„!! ํ•˜๋ฉด
Merge pull request ๋ˆ„๋ฅด๊ธฐ
github๋กœ ๋ธŒ๋žœ์น˜ ํ˜‘์—…ํ•˜๊ธฐ
Master ๋ธŒ๋žœ์น˜์— ๋ฐ˜์˜๋˜์–ด์žˆ๋‹ค!!
github๋กœ ๋ธŒ๋žœ์น˜ ํ˜‘์—…ํ•˜๊ธฐ ๊ทผ๋ฐ ๋‹ค๋ฅธ ํŒ€์›๋„ ๋™์‹œ์— ๋ญ”๊ฐ€๋ฅผ ํ–ˆ๋‹ค๋ฉด?!
$ git branch [๋ธŒ๋žœ์น˜๋ช…]
check๋ผ๋Š” ์ด๋ฆ„์˜ branch ์ƒ์„ฑ
$ git checkout [๋ธŒ๋žœ์น˜๋ช…]
check ๋ธŒ๋žœ์น˜๋กœ ์ด๋™! : ๋‚œ ์ง€๊ธˆ๋ถ€ํ„ฐ check ๋ธŒ๋žœ์น˜์—์„œ ์ž‘์—…ํ• ๋ž˜
github๋กœ ๋ธŒ๋žœ์น˜ ํ˜‘์—…ํ•˜๊ธฐ
์ƒˆ ํŒŒ์ผ ์ƒ์„ฑ! : DSC-ewha-core ๊ธฐ์กด ํŒŒ์ผ ์ˆ˜์ •! : Notice-Text
ํ˜„์žฌ ๋ธŒ๋žœ์น˜: check
๊ทผ๋ฐ ๋‹ค๋ฅธ ํŒ€์›๋„ ๋™์‹œ์— ๋ญ”๊ฐ€๋ฅผ ํ–ˆ๋‹ค๋ฉด?!
github๋กœ ๋ธŒ๋žœ์น˜ ํ˜‘์—…ํ•˜๊ธฐ ๊ทผ๋ฐ ๋‹ค๋ฅธ ํŒ€์›๋„ ๋™์‹œ์— ๋ญ”๊ฐ€๋ฅผ ํ–ˆ๋‹ค๋ฉด?!
ํ˜„์žฌ ๋ณ€๊ฒฝ์‚ฌํ•ญ ํ™•์ธ
$ git status
ํ˜„์žฌ ๋ณ€๊ฒฝ์ด ์žˆ๋Š” ํŒŒ์ผ๋“ค ๋ชจ๋‘ commit ๋Œ€๊ธฐ๋กœ ์ถ”๊ฐ€
$ git add .
โ€œcheck core ํŒŒ์ผ ์ถ”๊ฐ€notice ์ˆ˜์ •โ€ ์ด๋ž€
์ด๋ฆ„์˜ version์œผ๋กœ ์ €์žฅ
$ git commit
github๋กœ ๋ธŒ๋žœ์น˜ ํ˜‘์—…ํ•˜๊ธฐ ๊ทผ๋ฐ ๋‹ค๋ฅธ ํŒ€์›๋„ ๋™์‹œ์— ๋ญ”๊ฐ€๋ฅผ ํ–ˆ๋‹ค๋ฉด?!
์›๊ฒฉ ์ €์žฅ์†Œ (github repository)์— ์ €์žฅ
$ git push
์ฒ˜์Œ ๋งŒ๋“ค์–ด์ง„ ๋ธŒ๋žœ์น˜๊ฐ€ github์— push๋  ๋•Œ๋Š” ๋‹ค
์Œ๊ณผ ๊ฐ™์ด gitbash์˜ ๋ง์— ๋”ฐ๋ผ
$ git push --set-upstream origin notice
origin (pushํ•˜๋ ค๋Š” dsc-git repository์˜ ๋ณ„๋ช…)
check (push ํ•˜๋ ค๋Š” branch ์ด๋ฆ„)
github๋กœ ๋ธŒ๋žœ์น˜ ํ˜‘์—…ํ•˜๊ธฐ
ํ˜„์žฌ ๊ธฐ๋ณธ ๋ธŒ๋žœ์น˜์ธ master์™€
check ๋ธŒ๋žœ์น˜์™€ ๋ณ‘ํ•ฉ (merge) ํ• 
์š”์ฒญ์„ ๋งŒ๋“ค์ง€ ๋ฌผ์–ด๋ณธ๋‹ค!
pull request
๊ทผ๋ฐ ๋‹ค๋ฅธ ํŒ€์›๋„ ๋™์‹œ์— ๋ญ”๊ฐ€๋ฅผ ํ–ˆ๋‹ค๋ฉด?!
github๋กœ ๋ธŒ๋žœ์น˜ ํ˜‘์—…ํ•˜๊ธฐ
pull request ์ƒ์„ฑ
chek ๋ธŒ๋žœ์น˜์˜ ๋‚ด์šฉ์„
master ๋ธŒ๋žœ์น˜์™€ ํ•ฉ์น˜๊ณ 
๊ทธ ๋‚ด์šฉ์„ master์— ๋„ฃ์„๋ž˜
๋ผ๋Š” ์š”์ฒญ์„ ๋งŒ๋“ค๊ฒ ์–ด!
Canโ€™t automatically merge!
๊ทผ๋ฐ ๋‹ค๋ฅธ ํŒ€์›๋„ ๋™์‹œ์— ๋ญ”๊ฐ€๋ฅผ ํ–ˆ๋‹ค๋ฉด?!
github๋กœ ๋ธŒ๋žœ์น˜ ํ˜‘์—…ํ•˜๊ธฐ
์ž๋™ merge๊ฐ€ ์•ˆ๋œ๋‹ค!!
Resolve conflicts!!
์ถฉ๋Œ์ด ๋‚œ ๋ถ€๋ถ„์„ ํ•˜๋‚˜ํ•˜๋‚˜ ๋ด์•ผํ•œ๋‹ค!
๊ทผ๋ฐ ๋‹ค๋ฅธ ํŒ€์›๋„ ๋™์‹œ์— ๋ญ”๊ฐ€๋ฅผ ํ–ˆ๋‹ค๋ฉด?!
github๋กœ ๋ธŒ๋žœ์น˜ ํ˜‘์—…ํ•˜๊ธฐ ๊ทผ๋ฐ ๋‹ค๋ฅธ ํŒ€์›๋„ ๋™์‹œ์— ๋ญ”๊ฐ€๋ฅผ ํ–ˆ๋‹ค๋ฉด?!
๊ฐ™์€ ์ค„์— ๋‹ค๋ฅธ ๋‚ด์šฉ์ด ๋“ค์–ด๊ฐ€์žˆ๊ตฐ!!
์–ด๋–ค ๊ฑธ๋กœ ํ• ๊บผ์•ผ? ์„ ํƒํ•ด์„œ ์ˆ˜์ •ํ•ด!
github๋กœ ๋ธŒ๋žœ์น˜ ํ˜‘์—…ํ•˜๊ธฐ ๊ทผ๋ฐ ๋‹ค๋ฅธ ํŒ€์›๋„ ๋™์‹œ์— ๋ญ”๊ฐ€๋ฅผ ํ–ˆ๋‹ค๋ฉด?!
<<<<
====
>>>>
์—†์• ๊ณ  ํ•ด๊ฒฐํ•˜๊ธฐ!
github๋กœ ๋ธŒ๋žœ์น˜ ํ˜‘์—…ํ•˜๊ธฐ ๊ทผ๋ฐ ๋‹ค๋ฅธ ํŒ€์›๋„ ๋™์‹œ์— ๋ญ”๊ฐ€๋ฅผ ํ–ˆ๋‹ค๋ฉด?!
github๋กœ ๋ธŒ๋žœ์น˜ ํ˜‘์—…ํ•˜๊ธฐ ๊ทผ๋ฐ ๋‹ค๋ฅธ ํŒ€์›๋„ ๋™์‹œ์— ๋ญ”๊ฐ€๋ฅผ ํ–ˆ๋‹ค๋ฉด?!
github๋กœ ๋ธŒ๋žœ์น˜ ํ˜‘์—…ํ•˜๊ธฐ ๊ทผ๋ฐ ๋‹ค๋ฅธ ํŒ€์›๋„ ๋™์‹œ์— ๋ญ”๊ฐ€๋ฅผ ํ–ˆ๋‹ค๋ฉด?!
github๋กœ ๋ธŒ๋žœ์น˜ ํ˜‘์—…ํ•˜๊ธฐ ๊ทผ๋ฐ ๋‹ค๋ฅธ ํŒ€์›๋„ ๋™์‹œ์— ๋ญ”๊ฐ€๋ฅผ ํ–ˆ๋‹ค๋ฉด?!
github๋กœ ๋ธŒ๋žœ์น˜ ํ˜‘์—…ํ•˜๊ธฐ ํŒ€์›์ด ์ž‘์—…ํ•œ ๋‚ด์šฉ๊นŒ์ง€ ๋ฐ˜์˜๋œ master ๋ธŒ๋žœ์น˜ ๊ฐ€์ ธ์˜ค๊ธฐ
$ git checkout [๋ธŒ๋žœ์น˜๋ช…]
master ๋ธŒ๋žœ์น˜๋กœ ์ด๋™! : ๋‚œ ์ง€๊ธˆ๋ถ€ํ„ฐ master ๋ธŒ๋žœ์น˜์—์„œ ์ž‘์—…ํ• ๋ž˜
์›๊ฒฉ ์ €์žฅ์†Œ์— ์žˆ๋Š” ๋‚ด์šฉ์„ ๋‚ด local๋กœ ๊ฐ€์ ธ์˜ค๊ธฐ
$ git pull origin master
origin (pullํ•˜๋ ค๋Š” dsc-git repository์˜ ๋ณ„๋ช…)
check (pull ํ•˜๋ ค๋Š” branch ์ด๋ฆ„)
github๋กœ ๋ธŒ๋žœ์น˜ ํ˜‘์—…ํ•˜๊ธฐ ํŒ€์›์ด ์ž‘์—…ํ•œ ๋‚ด์šฉ๊นŒ์ง€ ๋ฐ˜์˜๋œ master ๋ธŒ๋žœ์น˜ ๊ฐ€์ ธ์˜ค๊ธฐ
๋ฐ˜์˜ ์™„๋ฃŒ!
๋ธŒ๋žœ์น˜ ๊ทธ๋ž˜ํ”„
์ €๋ฒˆ์— ๋งํ•œ Sourcetree ๋ผ๋Š”
GUI ํˆด์„ ์ด์šฉํ•˜๋ฉด
local ๋ธŒ๋žœ์น˜ ๋‚ด์šฉ๋„
๊ทธ๋ž˜ํ”„๋กœ ๋ณผ ์ˆ˜ ์žˆ์Œ!!
์‚ฌ์‹ค ์„ธ๋ฏธ๋‚˜ ์ž๋ฃŒ ๋งŒ๋“ค๋‹ค๊ฐ€ ๋˜๋Œ๋ฆฐ ๊ฒŒ ์žˆ์–ด์„œ
๊ทธ๋ž˜ํ”„๊ฐ€ ์ง€๊ธˆ ์„ธ๋ฏธ๋‚˜ ํ๋ฆ„๊ณผ ์•ˆ๋งž์•„์š”
๋ธŒ๋žœ์น˜ ๊ทธ๋ž˜ํ”„
A B W Y
C
G
Branch : notcie
Branch : check
Branch : master
notice ์ถ”๊ฐ€ ๋ฐ ์ˆ˜์ •
Notice 1007.txt ํŒŒ์ผ ์ถ”๊ฐ€
Notice-text.txt ํŒŒ์ผ ์ˆ˜์ •
notice ์ถ”๊ฐ€ ๋ฐ ์ˆ˜์ •
DSC-ewha-core.txt ํŒŒ์ผ ์ถ”๊ฐ€
Notice-text.txt ํŒŒ์ผ ์ˆ˜์ •
Merge pull request #1
from mjung1798/notice
Merge pull request #2
from mjung1798/check
์ฐธ๊ณ  ๋ธ”๋กœ๊ทธ
https://backlog.com/git-tutorial/kr/
๋!!

Git cooperation

  • 1.
    Git Cooperation ๋ฐœํ‘œ์ž :DSC Ewha Lead ๊น€๋ฏผ์ •
  • 2.
    Git์„ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ  VersionControl System (๋ฒ„์ „ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ)
  • 3.
    Git์„ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ  VersionControl System (๋ฒ„์ „ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ) ๊ธฐ๋Šฅ ๊ฐœ์„  / ๋ฒ„๊ทธ ์ˆ˜์ • / SW ์ปค์Šคํ„ฐ๋งˆ์ด์ง•
  • 4.
    Git์„ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ  VersionControl System (๋ฒ„์ „ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ) ๊ธฐ๋Šฅ ๊ฐœ์„  / ๋ฒ„๊ทธ ์ˆ˜์ • / SW ์ปค์Šคํ„ฐ๋งˆ์ด์ง• ์˜๋ฏธ ์žˆ๋Š” ๋ณ€ํ™” ์ €์žฅ 1. ํ”„๋กœ์ ํŠธ์˜ ๋ณ€๊ฒฝ๊ด€๋ฆฌ ์ฝ”๋“œ๊ด€๋ฆฌ
  • 5.
    Git์„ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ  VersionControl System (๋ฒ„์ „ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ) ๊ธฐ๋Šฅ ๊ฐœ์„  / ๋ฒ„๊ทธ ์ˆ˜์ • / SW ์ปค์Šคํ„ฐ๋งˆ์ด์ง• ์˜๋ฏธ ์žˆ๋Š” ๋ณ€ํ™” ์ €์žฅ 1. ํ”„๋กœ์ ํŠธ์˜ ๋ณ€๊ฒฝ๊ด€๋ฆฌ ์ฝ”๋“œ๊ด€๋ฆฌ 2. ํ”„๋กœ์ ํŠธ์˜ ๋ฒ„์ „๊ด€๋ฆฌ ๋˜๋Œ์•„๊ฐ€๊ธฐ
  • 6.
    Git์„ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ  VersionControl System (๋ฒ„์ „ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ) ๊ธฐ๋Šฅ ๊ฐœ์„  / ๋ฒ„๊ทธ ์ˆ˜์ • / SW ์ปค์Šคํ„ฐ๋งˆ์ด์ง• ์˜๋ฏธ ์žˆ๋Š” ๋ณ€ํ™” ์ €์žฅ 1. ํ”„๋กœ์ ํŠธ์˜ ๋ณ€๊ฒฝ๊ด€๋ฆฌ ์ฝ”๋“œ๊ด€๋ฆฌ 2. ํ”„๋กœ์ ํŠธ์˜ ๋ฒ„์ „๊ด€๋ฆฌ ๋˜๋Œ์•„๊ฐ€๊ธฐ 3. ํ”„๋กœ์ ํŠธ์˜ ํ˜‘์—… ํŒ€ ํ”„๋กœ์ ํŠธ ํ˜„์ฃผ ๋ฏผ์ • ๋ฏผ์ • ์ฃผํ˜œ ๋ฏผ์ • ์˜ˆ๋ฆผ ์˜ˆ๋ฆผ ์ฃผํ˜œ ํ˜„์ฃผ ํ˜„์ฃผ
  • 7.
    ๋ฒ„์ „๊ด€๋ฆฌ tool Git์„ ์‚ฌ์šฉํ•˜๋Š”Project๋ฅผ ๊ฐ€์‹œ์ ์œผ๋กœ ๋ณด๊ธฐ ์œ„ํ•œ ์†Œ์Šค ๊ณต์œ  Service https://github.com/https://git-scm.com/
  • 8.
    1. git ์ปค๋งจ๋“œ๋ฅผ์ด์šฉํ•ด์„œ ์—ฌ๋Ÿฌ ์‚ฌ๋žŒ์ด ํ˜‘์—…ํ•˜๊ธฐ 2. github๋ฅผ ์ด์šฉํ•ด์„œ ์—ฌ๋Ÿฌ ์‚ฌ๋žŒ์ด ํ˜‘์—…ํ•˜๊ธฐ : ์‚ฌ์‹ค์ƒ 1๋ฒˆ์„ web์—์„œ ํ•˜๋Š” ๊ฒƒ์ด์ง€๋งŒ ์กฐ๊ธˆ ๋” ์ง๊ด€์ 
  • 9.
    1. git ์ปค๋งจ๋“œ๋ฅผ์ด์šฉํ•ด์„œ ์—ฌ๋Ÿฌ ์‚ฌ๋žŒ์ด ํ˜‘์—…ํ•˜๊ธฐ 2. github๋ฅผ ์ด์šฉํ•ด์„œ ์—ฌ๋Ÿฌ ์‚ฌ๋žŒ์ด ํ˜‘์—…ํ•˜๊ธฐ : ์‚ฌ์‹ค์ƒ 1๋ฒˆ์„ web์—์„œ ํ•˜๋Š” ๊ฒƒ์ด์ง€๋งŒ ์กฐ๊ธˆ ๋” ์ง๊ด€์  ๊ทธ๋Ÿฌ๋‚˜ ํ˜‘์—…์„ ํ•˜๋‹ค๊ฐ€ conflict(์ถฉ๋Œ)์ด ๋‚  ๊ฒฝ์šฐ ๊ฐ„๋‹จํ•œ ์ฝ”๋“œ๋งŒ ํ•ด๊ฒฐ ๊ฐ€๋Šฅ > conflict code ์ค„ ์ˆ˜๊ฐ€ ๋งŽ์€ ๊ฒฝ์šฐ ๊ฒฐ๊ตญ์€ 1์„ ์‚ฌ์šฉํ•ด์•ผ ํ•จ
  • 10.
    ๋ธŒ๋žœ์น˜๋ž€? SW ๊ฐœ๋ฐœํ•  ๋•Œ๊ฐœ๋ฐœ์ž๋“ค์€ ๊ฐ™์€ ์†Œ์Šค์ฝ”๋“œ๋ฅผ ํ•จ๊ป˜ ๊ณต์œ ํ•˜๊ณ  ์ฝ”๋”ฉํ•œ๋‹ค! ๊ฐ™์€ ์†Œ์Šค์ฝ”๋“œ์—์„œ ์ถœ๋ฐœํ•ด์„œ - A๋Š” ๋ฒ„๊ทธ๋ฅผ ์ˆ˜์ • - B๋Š” ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ ์ถ”๊ฐ€ ์—ฌ๋Ÿฌ ๊ฐœ๋ฐœ์ž๋“ค์ด ๋™์‹œ์— ๋‹ค์–‘ํ•œ ์ž‘์—…์„ ํ•  ์ˆ˜ ์žˆ๋‹ค!
  • 11.
    ๋ธŒ๋žœ์น˜๋ž€? Branch : release ๋‹ค๋ฅธ์‚ฌ๋žŒ์˜ ์ž‘์—…์— ์˜ํ–ฅ์„ ์ฃผ๊ฑฐ๋‚˜ ๋ฐ›์ง€ ์•Š๋Š”๋‹ค. ์—ฌ๋Ÿฌ ์‚ฌ๋žŒ์ด B์ปค๋ฐ‹์˜ ์†Œ์Šค์ฝ”๋“œ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์„œ๋กœ ๋‹ค๋ฅธ ์ž‘์—…์„ ํ•œ๋‹ค ๋จผ์ € ๋ฉ”์ธ ๋ธŒ๋žœ์น˜(master)์—์„œ ์ž์‹ ์˜ ์ž‘์—… ์ „์šฉ ๋ธŒ๋žœ์น˜ (release, func1, bugFix)๋ฅผ ๋งŒ๋“ ๋‹ค. Branch : func1 Branch : bugFix Branch : master
  • 12.
    ๋ธŒ๋žœ์น˜๋กœ ํ˜‘์—…ํ•˜๊ธฐ ๋ธŒ๋žœ์น˜๋ฅผ ์‚ฌ์šฉํ•˜๋Š”์ด์œ  ๋‹ค๋ฅธ ๋ธŒ๋žœ์น˜์™€ ๋ณ‘ํ•ฉ(Merge)ํ•จ์œผ๋กœ์จ, ์ž‘์—…ํ•œ ๋‚ด์šฉ์„ ์ƒˆ๋กœ์šด ํ•˜๋‚˜์˜ ๋ธŒ๋žœ์น˜๋กœ ๋ชจ์„ ์ˆ˜ ์žˆ๋‹ค
  • 13.
    ๋ธŒ๋žœ์น˜๋กœ ํ˜‘์—…ํ•˜๊ธฐ 1. ๊ฐ์ž์ž์‹ ์˜ ๋ธŒ๋žœ์น˜์—์„œ ์ž‘์—… ์ง„ํ–‰ (release, func1, bugFix) 2. ๋ฉ”์ธ ๋ธŒ๋žœ์น˜(master)์— ์ž์‹ ์˜ ๋ธŒ๋žœ์น˜ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ์ ์šฉ! ๋ธŒ๋žœ์น˜๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ  ๋‹ค๋ฅธ ๋ธŒ๋žœ์น˜์™€ ๋ณ‘ํ•ฉ(Merge)ํ•จ์œผ๋กœ์จ, ์ž‘์—…ํ•œ ๋‚ด์šฉ์„ ์ƒˆ๋กœ์šด ํ•˜๋‚˜์˜ ๋ธŒ๋žœ์น˜๋กœ ๋ชจ์„ ์ˆ˜ ์žˆ๋‹คBranch : release Branch : func1 Branch : bugFix Branch : master
  • 14.
    ๋ธŒ๋žœ์น˜๋กœ ํ˜‘์—…ํ•˜๊ธฐ A BW Y Z C O X T G F Branch : release Branch : func1 Branch : bugFix Branch : master ๋ฆด๋ฆฌ์ฆˆ ๋ฒ„์ „ ์ด๋ ฅ ๊ธฐ๋Šฅ ์ถ”๊ฐ€ ์ด๋ ฅ ๋ฒ„๊ทธ ์ˆ˜์ • ์ด๋ ฅ
  • 15.
    ๋ธŒ๋žœ์น˜๋กœ ํ˜‘์—…ํ•˜๊ธฐ ๋‹ค๋ฅธ ์‚ฌ๋žŒ์˜์ž‘์—…์— ์˜ํ–ฅ์„ ๋ฐ›์ง€ ์•Š๊ณ  ๋…๋ฆฝ์ ์œผ๋กœ ํŠน์ • ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜์—ฌ ๊ทธ ๊ฒฐ๊ณผ๋ฅผ ํ•˜๋‚˜๋กœ ๋ชจ์„ ์ˆ˜ ์žˆ๋‹ค.
  • 16.
    github๋กœ ๋ธŒ๋žœ์น˜ ํ˜‘์—…ํ•˜๊ธฐ 1.ํ˜‘์—… ํ•˜๋ ค๋Š” git repository ํด๋ฆญ 2. settings ํด๋ฆญ 3. collaborators ํด๋ฆญ 4. ํŒ€์› github ์•„์ด๋”” ์ดˆ๋Œ€
  • 17.
    github๋กœ ๋ธŒ๋žœ์น˜ ํ˜‘์—…ํ•˜๊ธฐ 1.Code๋กœ ๊ฐ€๊ธฐ 2. Clone and download ํด๋ฆญ 3. Git bash์—์„œ clone ๋ช…๋ น์–ด ์ž…๋ ฅ $ git clone [๋ณต์‚ฌํ•œ ๋‚ด์šฉ]
  • 18.
    github๋กœ ๋ธŒ๋žœ์น˜ ํ˜‘์—…ํ•˜๊ธฐ ํ˜„์žฌํด๋”์˜ ๋‚ด์šฉ : github repository์˜ ๋‚ด์šฉ
  • 19.
    github๋กœ ๋ธŒ๋žœ์น˜ ํ˜‘์—…ํ•˜๊ธฐ ํ˜„์žฌmaster ๋ธŒ๋žœ์น˜์— ์žˆ์Œ (default) $ git branch [๋ธŒ๋žœ์น˜๋ช…] notice๋ผ๋Š” ์ด๋ฆ„์˜ branch ์ƒ์„ฑ $ git branch ํ˜„์žฌ ๋‚ด local branch ๋ฆฌ์ŠคํŠธ ํ™•์ธ $ git checkout [๋ธŒ๋žœ์น˜๋ช…] notice ๋ธŒ๋žœ์น˜๋กœ ์ด๋™! : ๋‚œ ์ง€๊ธˆ๋ถ€ํ„ฐ notice ๋ธŒ๋žœ์น˜์—์„œ ์ž‘์—…ํ• ๋ž˜
  • 20.
    github๋กœ ๋ธŒ๋žœ์น˜ ํ˜‘์—…ํ•˜๊ธฐ ์ƒˆํŒŒ์ผ ์ƒ์„ฑ! : notice 1007 ํ˜„์žฌ ๋ธŒ๋žœ์น˜: notice ๊ธฐ์กด ํŒŒ์ผ ์ˆ˜์ •! : Notice-Text
  • 21.
    github๋กœ ๋ธŒ๋žœ์น˜ ํ˜‘์—…ํ•˜๊ธฐ ์ƒˆํŒŒ์ผ ์ƒ์„ฑ! : notice 1007 ํ˜„์žฌ ๋ธŒ๋žœ์น˜: notice ๊ธฐ์กด ํŒŒ์ผ ์ˆ˜์ •! : Notice-Text ( ํ•œ ์ค„ ์ถ”๊ฐ€ํ•จ )
  • 22.
    github๋กœ ๋ธŒ๋žœ์น˜ ํ˜‘์—…ํ•˜๊ธฐ ํ˜„์žฌ๋ณ€๊ฒฝ์‚ฌํ•ญ ํ™•์ธ $ git status ํ˜„์žฌ ๋ณ€๊ฒฝ์ด ์žˆ๋Š” ํŒŒ์ผ๋“ค ๋ชจ๋‘ commit ๋Œ€๊ธฐ๋กœ ์ถ”๊ฐ€ $ git add . โ€œnotice ์ถ”๊ฐ€ ๋ฐ ์ˆ˜์ •โ€ ์ด๋ž€ ์ด๋ฆ„์˜ version์œผ๋กœ ์ €์žฅ $ git commit
  • 23.
    github๋กœ ๋ธŒ๋žœ์น˜ ํ˜‘์—…ํ•˜๊ธฐ ์›๊ฒฉ์ €์žฅ์†Œ (github repository)์— ์ €์žฅ $ git push ์ฒ˜์Œ ๋งŒ๋“ค์–ด์ง„ ๋ธŒ๋žœ์น˜๊ฐ€ github์— push๋  ๋•Œ๋Š” ๋‹ค ์Œ๊ณผ ๊ฐ™์ด gitbash์˜ ๋ง์— ๋”ฐ๋ผ $ git push --set-upstream origin notice origin (pushํ•˜๋ ค๋Š” dsc-git repository์˜ ๋ณ„๋ช…) notcie (push ํ•˜๋ ค๋Š” branch ์ด๋ฆ„)
  • 24.
    github๋กœ ๋ธŒ๋žœ์น˜ ํ˜‘์—…ํ•˜๊ธฐ ํ˜„์žฌ๊ธฐ๋ณธ ๋ธŒ๋žœ์น˜์ธ master์™€ Notice ๋ธŒ๋žœ์น˜์™€ ๋ณ‘ํ•ฉ (merge) ํ•  ์š”์ฒญ์„ ๋งŒ๋“ค์ง€ ๋ฌผ์–ด๋ณธ๋‹ค! pull request
  • 25.
    github๋กœ ๋ธŒ๋žœ์น˜ ํ˜‘์—…ํ•˜๊ธฐ pullrequest ์ƒ์„ฑ Notice ๋ธŒ๋žœ์น˜์˜ ๋‚ด์šฉ์„ master ๋ธŒ๋žœ์น˜์™€ ํ•ฉ์น˜๊ณ  ๊ทธ ๋‚ด์šฉ์„ master์— ๋„ฃ์„๋ž˜ ๋ผ๋Š” ์š”์ฒญ์„ ๋งŒ๋“ค๊ฒ ์–ด! able to merge!
  • 26.
    github๋กœ ๋ธŒ๋žœ์น˜ ํ˜‘์—…ํ•˜๊ธฐ ํŒ€์›๋“ค์ด์ด Pull Request๋ฅผ ๋ณด๊ณ  ์˜ค์ผ€์ด!!! ์ข‹์•„!! ํ•˜๋ฉด Merge pull request ๋ˆ„๋ฅด๊ธฐ
  • 27.
    github๋กœ ๋ธŒ๋žœ์น˜ ํ˜‘์—…ํ•˜๊ธฐ Master๋ธŒ๋žœ์น˜์— ๋ฐ˜์˜๋˜์–ด์žˆ๋‹ค!!
  • 28.
    github๋กœ ๋ธŒ๋žœ์น˜ ํ˜‘์—…ํ•˜๊ธฐ๊ทผ๋ฐ ๋‹ค๋ฅธ ํŒ€์›๋„ ๋™์‹œ์— ๋ญ”๊ฐ€๋ฅผ ํ–ˆ๋‹ค๋ฉด?! $ git branch [๋ธŒ๋žœ์น˜๋ช…] check๋ผ๋Š” ์ด๋ฆ„์˜ branch ์ƒ์„ฑ $ git checkout [๋ธŒ๋žœ์น˜๋ช…] check ๋ธŒ๋žœ์น˜๋กœ ์ด๋™! : ๋‚œ ์ง€๊ธˆ๋ถ€ํ„ฐ check ๋ธŒ๋žœ์น˜์—์„œ ์ž‘์—…ํ• ๋ž˜
  • 29.
    github๋กœ ๋ธŒ๋žœ์น˜ ํ˜‘์—…ํ•˜๊ธฐ ์ƒˆํŒŒ์ผ ์ƒ์„ฑ! : DSC-ewha-core ๊ธฐ์กด ํŒŒ์ผ ์ˆ˜์ •! : Notice-Text ํ˜„์žฌ ๋ธŒ๋žœ์น˜: check ๊ทผ๋ฐ ๋‹ค๋ฅธ ํŒ€์›๋„ ๋™์‹œ์— ๋ญ”๊ฐ€๋ฅผ ํ–ˆ๋‹ค๋ฉด?!
  • 30.
    github๋กœ ๋ธŒ๋žœ์น˜ ํ˜‘์—…ํ•˜๊ธฐ๊ทผ๋ฐ ๋‹ค๋ฅธ ํŒ€์›๋„ ๋™์‹œ์— ๋ญ”๊ฐ€๋ฅผ ํ–ˆ๋‹ค๋ฉด?! ํ˜„์žฌ ๋ณ€๊ฒฝ์‚ฌํ•ญ ํ™•์ธ $ git status ํ˜„์žฌ ๋ณ€๊ฒฝ์ด ์žˆ๋Š” ํŒŒ์ผ๋“ค ๋ชจ๋‘ commit ๋Œ€๊ธฐ๋กœ ์ถ”๊ฐ€ $ git add . โ€œcheck core ํŒŒ์ผ ์ถ”๊ฐ€notice ์ˆ˜์ •โ€ ์ด๋ž€ ์ด๋ฆ„์˜ version์œผ๋กœ ์ €์žฅ $ git commit
  • 31.
    github๋กœ ๋ธŒ๋žœ์น˜ ํ˜‘์—…ํ•˜๊ธฐ๊ทผ๋ฐ ๋‹ค๋ฅธ ํŒ€์›๋„ ๋™์‹œ์— ๋ญ”๊ฐ€๋ฅผ ํ–ˆ๋‹ค๋ฉด?! ์›๊ฒฉ ์ €์žฅ์†Œ (github repository)์— ์ €์žฅ $ git push ์ฒ˜์Œ ๋งŒ๋“ค์–ด์ง„ ๋ธŒ๋žœ์น˜๊ฐ€ github์— push๋  ๋•Œ๋Š” ๋‹ค ์Œ๊ณผ ๊ฐ™์ด gitbash์˜ ๋ง์— ๋”ฐ๋ผ $ git push --set-upstream origin notice origin (pushํ•˜๋ ค๋Š” dsc-git repository์˜ ๋ณ„๋ช…) check (push ํ•˜๋ ค๋Š” branch ์ด๋ฆ„)
  • 32.
    github๋กœ ๋ธŒ๋žœ์น˜ ํ˜‘์—…ํ•˜๊ธฐ ํ˜„์žฌ๊ธฐ๋ณธ ๋ธŒ๋žœ์น˜์ธ master์™€ check ๋ธŒ๋žœ์น˜์™€ ๋ณ‘ํ•ฉ (merge) ํ•  ์š”์ฒญ์„ ๋งŒ๋“ค์ง€ ๋ฌผ์–ด๋ณธ๋‹ค! pull request ๊ทผ๋ฐ ๋‹ค๋ฅธ ํŒ€์›๋„ ๋™์‹œ์— ๋ญ”๊ฐ€๋ฅผ ํ–ˆ๋‹ค๋ฉด?!
  • 33.
    github๋กœ ๋ธŒ๋žœ์น˜ ํ˜‘์—…ํ•˜๊ธฐ pullrequest ์ƒ์„ฑ chek ๋ธŒ๋žœ์น˜์˜ ๋‚ด์šฉ์„ master ๋ธŒ๋žœ์น˜์™€ ํ•ฉ์น˜๊ณ  ๊ทธ ๋‚ด์šฉ์„ master์— ๋„ฃ์„๋ž˜ ๋ผ๋Š” ์š”์ฒญ์„ ๋งŒ๋“ค๊ฒ ์–ด! Canโ€™t automatically merge! ๊ทผ๋ฐ ๋‹ค๋ฅธ ํŒ€์›๋„ ๋™์‹œ์— ๋ญ”๊ฐ€๋ฅผ ํ–ˆ๋‹ค๋ฉด?!
  • 34.
    github๋กœ ๋ธŒ๋žœ์น˜ ํ˜‘์—…ํ•˜๊ธฐ ์ž๋™merge๊ฐ€ ์•ˆ๋œ๋‹ค!! Resolve conflicts!! ์ถฉ๋Œ์ด ๋‚œ ๋ถ€๋ถ„์„ ํ•˜๋‚˜ํ•˜๋‚˜ ๋ด์•ผํ•œ๋‹ค! ๊ทผ๋ฐ ๋‹ค๋ฅธ ํŒ€์›๋„ ๋™์‹œ์— ๋ญ”๊ฐ€๋ฅผ ํ–ˆ๋‹ค๋ฉด?!
  • 35.
    github๋กœ ๋ธŒ๋žœ์น˜ ํ˜‘์—…ํ•˜๊ธฐ๊ทผ๋ฐ ๋‹ค๋ฅธ ํŒ€์›๋„ ๋™์‹œ์— ๋ญ”๊ฐ€๋ฅผ ํ–ˆ๋‹ค๋ฉด?! ๊ฐ™์€ ์ค„์— ๋‹ค๋ฅธ ๋‚ด์šฉ์ด ๋“ค์–ด๊ฐ€์žˆ๊ตฐ!! ์–ด๋–ค ๊ฑธ๋กœ ํ• ๊บผ์•ผ? ์„ ํƒํ•ด์„œ ์ˆ˜์ •ํ•ด!
  • 36.
    github๋กœ ๋ธŒ๋žœ์น˜ ํ˜‘์—…ํ•˜๊ธฐ๊ทผ๋ฐ ๋‹ค๋ฅธ ํŒ€์›๋„ ๋™์‹œ์— ๋ญ”๊ฐ€๋ฅผ ํ–ˆ๋‹ค๋ฉด?! <<<< ==== >>>> ์—†์• ๊ณ  ํ•ด๊ฒฐํ•˜๊ธฐ!
  • 37.
    github๋กœ ๋ธŒ๋žœ์น˜ ํ˜‘์—…ํ•˜๊ธฐ๊ทผ๋ฐ ๋‹ค๋ฅธ ํŒ€์›๋„ ๋™์‹œ์— ๋ญ”๊ฐ€๋ฅผ ํ–ˆ๋‹ค๋ฉด?!
  • 38.
    github๋กœ ๋ธŒ๋žœ์น˜ ํ˜‘์—…ํ•˜๊ธฐ๊ทผ๋ฐ ๋‹ค๋ฅธ ํŒ€์›๋„ ๋™์‹œ์— ๋ญ”๊ฐ€๋ฅผ ํ–ˆ๋‹ค๋ฉด?!
  • 39.
    github๋กœ ๋ธŒ๋žœ์น˜ ํ˜‘์—…ํ•˜๊ธฐ๊ทผ๋ฐ ๋‹ค๋ฅธ ํŒ€์›๋„ ๋™์‹œ์— ๋ญ”๊ฐ€๋ฅผ ํ–ˆ๋‹ค๋ฉด?!
  • 40.
    github๋กœ ๋ธŒ๋žœ์น˜ ํ˜‘์—…ํ•˜๊ธฐ๊ทผ๋ฐ ๋‹ค๋ฅธ ํŒ€์›๋„ ๋™์‹œ์— ๋ญ”๊ฐ€๋ฅผ ํ–ˆ๋‹ค๋ฉด?!
  • 41.
    github๋กœ ๋ธŒ๋žœ์น˜ ํ˜‘์—…ํ•˜๊ธฐํŒ€์›์ด ์ž‘์—…ํ•œ ๋‚ด์šฉ๊นŒ์ง€ ๋ฐ˜์˜๋œ master ๋ธŒ๋žœ์น˜ ๊ฐ€์ ธ์˜ค๊ธฐ $ git checkout [๋ธŒ๋žœ์น˜๋ช…] master ๋ธŒ๋žœ์น˜๋กœ ์ด๋™! : ๋‚œ ์ง€๊ธˆ๋ถ€ํ„ฐ master ๋ธŒ๋žœ์น˜์—์„œ ์ž‘์—…ํ• ๋ž˜ ์›๊ฒฉ ์ €์žฅ์†Œ์— ์žˆ๋Š” ๋‚ด์šฉ์„ ๋‚ด local๋กœ ๊ฐ€์ ธ์˜ค๊ธฐ $ git pull origin master origin (pullํ•˜๋ ค๋Š” dsc-git repository์˜ ๋ณ„๋ช…) check (pull ํ•˜๋ ค๋Š” branch ์ด๋ฆ„)
  • 42.
    github๋กœ ๋ธŒ๋žœ์น˜ ํ˜‘์—…ํ•˜๊ธฐํŒ€์›์ด ์ž‘์—…ํ•œ ๋‚ด์šฉ๊นŒ์ง€ ๋ฐ˜์˜๋œ master ๋ธŒ๋žœ์น˜ ๊ฐ€์ ธ์˜ค๊ธฐ ๋ฐ˜์˜ ์™„๋ฃŒ!
  • 43.
    ๋ธŒ๋žœ์น˜ ๊ทธ๋ž˜ํ”„ ์ €๋ฒˆ์— ๋งํ•œSourcetree ๋ผ๋Š” GUI ํˆด์„ ์ด์šฉํ•˜๋ฉด local ๋ธŒ๋žœ์น˜ ๋‚ด์šฉ๋„ ๊ทธ๋ž˜ํ”„๋กœ ๋ณผ ์ˆ˜ ์žˆ์Œ!! ์‚ฌ์‹ค ์„ธ๋ฏธ๋‚˜ ์ž๋ฃŒ ๋งŒ๋“ค๋‹ค๊ฐ€ ๋˜๋Œ๋ฆฐ ๊ฒŒ ์žˆ์–ด์„œ ๊ทธ๋ž˜ํ”„๊ฐ€ ์ง€๊ธˆ ์„ธ๋ฏธ๋‚˜ ํ๋ฆ„๊ณผ ์•ˆ๋งž์•„์š”
  • 44.
    ๋ธŒ๋žœ์น˜ ๊ทธ๋ž˜ํ”„ A BW Y C G Branch : notcie Branch : check Branch : master notice ์ถ”๊ฐ€ ๋ฐ ์ˆ˜์ • Notice 1007.txt ํŒŒ์ผ ์ถ”๊ฐ€ Notice-text.txt ํŒŒ์ผ ์ˆ˜์ • notice ์ถ”๊ฐ€ ๋ฐ ์ˆ˜์ • DSC-ewha-core.txt ํŒŒ์ผ ์ถ”๊ฐ€ Notice-text.txt ํŒŒ์ผ ์ˆ˜์ • Merge pull request #1 from mjung1798/notice Merge pull request #2 from mjung1798/check
  • 45.
  • 46.