๊ณ์ ์ ์ด์ ๋ง๋ค์์ผ๋ ํ๋ก์ ํธ์ ์ฐธ์ฌํ๋ ๋ฐฉ๋ฒ์ ์ดํด๋ณผ ์ฐจ๋ก๊ฐ ๋๋ค.
์ฐธ์ฌํ๊ณ ์ถ์ ํ๋ก์ ํธ๊ฐ ์๊ธฐ๋ฉด ์๋ง ๊ทธ ํ๋ก์ ํธ์ Push ํ ๊ถํ์ ์์ ํ ๋๊น โForkโ ํด์ผ ํ๋ค. โForkโ ํ๋ฉด GitHub์ด ํ๋ก์ ํธ๋ฅผ ํต์งธ๋ก ๋ณต์ฌํด์ค๋ค. ๊ทธ ๋ณต์ฌ๋ณธ์ ์ฌ์ฉ์ ๋ค์์คํ์ด์ค์ ์๊ณ Push ํ ์๋ ์๋ค.
Note
|
๊ณผ๊ฑฐ์๋ โForkโ ๊ฐ ์ข์ ์๋ฏธ๋ก ์ฐ์ด์ง ์์๋ค. ์คํ ์์ค ํ๋ก์ ํธ๋ฅผ โForkโ ํ๋ค๋ ๊ฒ์ ๋ณต์ฌํด์ ์กฐ๊ธ์ ๋ค๋ฅธ ํ๋ก์ ํธ๋ฅผ ๋ง๋๋ ๊ฒ์ ์๋ฏธํ๊ณ ๋๋๋ก ์๋ ํ๋ก์ ํธ์ ๊ฒฝ์ํ๊ฑฐ๋ ๊ธฐ์ฌ์๋ฅผ ๋๋๋ ๊ฒฐ๊ณผ๋ฅผ ๊ฐ์ ธ์ค๊ธฐ๋ ํ๋ค. GitHub์์ โForkโ ๋ ๋จ์ํ ์์ ์ ๋ค์์คํ์ด์ค๋ก ๋ณต์ฌํ๋ ๊ฒ์ ๋ปํ๋ค. ๊ทธ๋์ ๊ณต๊ฐํ ์ํ๋ก ์์ ํ๊ณ ์ข ๋ ์ด๋ฆฐ ๋ฐฉ์์ผ๋ก ์ฐธ์ฌํ ์ ์๋ค. |
์ด ๋ฐฉ์์์๋ ์ฌ๋๋ค์ ํ๋ก์ ํธ์ ์ถ๊ฐํ๊ณ Push ๊ถํ์ ์ค์ผ ํ ํ์๊ฐ ์๋ค. ์ฌ๋๋ค์ ํ๋ก์ ํธ๋ฅผ โForkโ ํด์ Push ํ๋ค. ๊ทธ๋ฆฌ๊ณ Push ํ ๋ณ๊ฒฝ ๋ด์ฉ์ ์๋ ์ ์ฅ์๋ก ๋ณด๋ด ๊ธฐ์ฌํ๋ค. ์ด๊ฒ์ Pull Request๋ผ๊ณ ๋ถ๋ฅด๋๋ฐ ๋์ค์ ๋ค์ ์ค๋ช ํ๋ค. ํ ๋ก ์ค๋ ๋๋ฅผ ๋ง๋ค๊ณ ๊ฑฐ๊ธฐ์ ์ฝ๋ ๋ฆฌ๋ทฐ๋ฅผ ํ๋ฉด์ ํ ๋ก ํ๋ ์ค๋ ๋๋ฅผ ๋ง๋ค์ด ํ ๋ก ์ ์์ํ๋ค. ํ๋ก์ ํธ ์์ ์ ๋ง์์ ๋ค ๋๊น์ง ์์ ์์ ๊ธฐ์ฌ์๋ ํจ๊ป ํ ๋ก ํ๋ค. ๋ง์์ ๋ค๊ฒ ๋๋ฉด Merge ํ๋ค.
ํ๋ก์ ํธ๋ ์ฝ๊ฒ Fork ํ ์ ์๋ค. ํ๋ก์ ํธ ํ์ด์ง๋ฅผ ๋ฐฉ๋ฌธํด์ ์ค๋ฅธ์ชฝ ๊ผญ๋๊ธฐ์ ์๋ โForkโ ๋ฒํผ์ ํด๋ฆญํ๋ค.
๋ช ์ด์์ ๋ณต์ฌ๋ ํ๋ก์ ํธ ํ์ด์ง๋ก ์ด๋ํ๋ค. ์ด ์ ํ๋ก์ ํธ์ ์์ ์๋ Fork ํ ์ฌ๋ ์์ ์ด๊ธฐ ๋๋ฌธ์ ์ฐ๊ธฐ ๊ถํ์ด ์๋ค.
GitHub์ Pull Request๊ฐ ์ค์ฌ์ธ ํ์ ์ํฌํ๋ก๋ฅผ ์์ฃผ๋ก ์ค๊ณ๋๋ค. ์ด ์ํฌํ๋ก๋ Fork ํด์ ํ๋ก์ ํธ์ ๊ธฐ์ฌํ๋ ๊ฒ์ธ๋ฐ ๋จ์ผ ์ ์ฅ์๋ง ์ฌ์ฉํ๋ ์์ ํ์ด๋ ์ ์ธ๊ณ์์ ํฉ์ด์ ธ์ ์ผํ๋ ํ์ฌ, ํน์ ํ ๋ฒ๋ ๋ณธ ์ ์๋ ์ฌ๋๋ค ์ฌ์ด์์๋ ์ ์ฉํ๋ค. ch03-git-branching.asc ์์ ์ค๋ช ํ๋ ch03-git-branching.asc ์ค์ฌ์ผ๋ก ์ผํ๋ ๋ฐฉ์์ด๋ค.
๋ณดํต์ ์๋์ ๊ฐ์ด ์ผํ๋ค.
-
ํ๋ก์ ํธ๋ฅผ
Fork
ํ๋ค. -
master
๊ธฐ๋ฐ์ผ๋ก ํ ํฝ ๋ธ๋์น๋ฅผ ๋ง๋ ๋ค. -
๋ญ๊ฐ ์์ ํด์ ์ปค๋ฐํ๋ค.
-
์์ ์ GitHub ํ๋ก์ ํธ์ ๋ธ๋์น๋ฅผ Push ํ๋ค.
-
GitHub์ Pull Request๋ฅผ ์์ฑํ๋ค.
-
ํ ๋ก ํ๋ฉด์ ๊ทธ์ ๋ฐ๋ผ ๊ณ์ ์ปค๋ฐํ๋ค.
-
ํ๋ก์ ํธ ์์ ์๋ Pull Request๋ฅผ Merge ํ๊ณ ๋ซ๋๋ค.
์ด ๋ฐฉ์์ ๊ธฐ๋ณธ์ ์ผ๋ก ch05-distributed-git.asc์์ ์ค๋ช ํ๋ Integration-Manager ์ํฌํ๋ก์ ๊ฐ๋ค. ํ ๋ก ์ด๋ ๋ฆฌ๋ทฐ๋ฅผ ์ด๋ฉ์ผ์ด ์๋๋ผ GitHub์์ ์ ๊ณตํ๋ ์น ๊ธฐ๋ฐ ๋๊ตฌ๋ฅผ ์ฌ์ฉํ๋ ๊ฒ๋ฟ์ด๋ค.
GitHub์ ์๋ ์คํ์์ค ํ๋ก์ ํธ์ ์ด ์ํฌํ๋ก๋ฅผ ์ด์ฉํด์ ๋ญ๊ฐ ๊ธฐ์ฌํ๋ ์์ ๋ฅผ ์ดํด๋ณด์.
Tony๋ ์์ ์ Arduino ์ฅ์น์์ ์คํํด๋ณผ ๋งํ ์ฝ๋๋ฅผ ์ฐพ๊ณ ์์๊ณ GitHub์ ์๋ https://github.com/schacon/blink์์ ๋งค์ฐ ํก์กฑํ ํ๋ก๊ทธ๋จ์ ์ฐพ์๋ค.
๋ค ์ข์๋ฐ ๋๋ฌด ๋น ๋ฅด๊ฒ ๊น๋นก์ด๋ ๊ฒ ๋ง์์ ์ ๋ค์๋ค. ๋งค์ด ๊น๋นก์ด๋ ๊ฒ๋ณด๋ค 3์ด์ ํ ๋ฒ ๊น๋นก์ด๋ ๊ฒ ๋ ์ข์ ๊ฒ ๊ฐ์๋ค. ๊ทธ๋์ ํ๋ก๊ทธ๋จ์ ์์ ํ๊ณ ์ ํ๋ก์ ํธ์ ๋ค์ ๋ณด๋ด๊ธฐ๋ก ํ๋ค.
์์ ์ค๋ช
ํ๋ ๊ฒ์ฒ๋ผ 'Fork' ๋ฒํผ์ ํด๋ฆญํด์ ํ๋ก์ ํธ๋ฅผ ๋ณต์ฌํ๋ค.
์ฌ์ฉ์ ์ด๋ฆ์ด โtonychaconโ ์ด๋ผ๋ฉด https://github.com/tonychacon/blink
์ ํ๋ก์ ํธ๊ฐ ๋ณต์ฌ๋๋ค. ์ด ํ๋ก์ ํธ๋ ๋ณธ์ธ ํ๋ก์ ํธ์ด๊ณ ์์ ํ ์ ์๋ค.
์ด ํ๋ก์ ํธ๋ฅผ ๋ก์ปฌ์ Clone ํด์ ํ ํฝ ๋ธ๋์น๋ฅผ ๋ง๋ค๊ณ ์ฝ๋๋ฅผ ์์ ํ๊ณ ๋์ GitHub์ ๋ค์ Push ํ๋ค.
$ git clone https://github.com/tonychacon/blink (1)
Cloning into 'blink'...
$ cd blink
$ git checkout -b slow-blink (2)
Switched to a new branch 'slow-blink'
$ sed -i '' 's/1000/3000/' blink.ino (macOS) (3)
# If you're on a Linux system, do this instead:
# $ sed -i 's/1000/3000/' blink.ino (3)
$ git diff --word-diff (4)
diff --git a/blink.ino b/blink.ino
index 15b9911..a6cc5a5 100644
--- a/blink.ino
+++ b/blink.ino
@@ -18,7 +18,7 @@ void setup() {
// the loop routine runs over and over again forever:
void loop() {
digitalWrite(led, HIGH); // turn the LED on (HIGH is the voltage level)
[-delay(1000);-]{+delay(3000);+} // wait for a second
digitalWrite(led, LOW); // turn the LED off by making the voltage LOW
[-delay(1000);-]{+delay(3000);+} // wait for a second
}
$ git commit -a -m 'three seconds is better' (5)
[slow-blink 5ca509d] three seconds is better
1 file changed, 2 insertions(+), 2 deletions(-)
$ git push origin slow-blink (6)
Username for 'https://github.com': tonychacon
Password for 'https://[email protected]':
Counting objects: 5, done.
Delta compression using up to 8 threads.
Compressing objects: 100% (3/3), done.
Writing objects: 100% (3/3), 340 bytes | 0 bytes/s, done.
Total 3 (delta 1), reused 0 (delta 0)
To https://github.com/tonychacon/blink
* [new branch] slow-blink -> slow-blink
-
Fork ํ ๊ฐ์ธ ์ ์ฅ์๋ฅผ ๋ก์ปฌ์ Clone ํ๋ค.
-
๋ฌด์จ ์ผ์ธ์ง ์ค๋ช ์ด ๋๋ ์ด๋ฆ์ ํ ํฝ ๋ธ๋์น๋ฅผ ๋ง๋ ๋ค.
-
์ฝ๋๋ฅผ ์์ ํ๋ค.
-
์ ๊ณ ์ณค๋์ง ํ์ธํ๋ค.
-
ํ ํฝ ๋ธ๋์น์ ์ปค๋ฐํ๋ค.
-
GitHub์ ๊ฐ์ธ ์ ์ฅ์์ ํ ํฝ ๋ธ๋์น๋ฅผ Push ํ๋ค.
Fork ํ ๋ด ์ ์ฅ์์ ๊ฐ๋ฉด GitHub์ ํ ํฝ ๋ธ๋์น๊ฐ ํ๋ Push ๋๋ค๋ ๊ฒ์ ์๋ ค์ฃผ๊ณ ์ ์ ์ฅ์์ Pull Request๋ฅผ ๋ณด๋ผ ์ ์๋ ํฐ ๋ น์ ๋ฒํผ์ ๋ณด์ฌ์ค๋ค.
์๋๋ฉด ์ ์ฅ์์ โ๋ธ๋์นโ ํ์ด์ง๋ก(https://github.com/<user>/<project>/branches
) ๊ฐ์ ํด๋น ๋ธ๋์น์ "New pull request" ๋ฒํผ์ ์ด์ฉํ๋ค.
๋ น์ ๋ฒํผ์ ํด๋ฆญํ๋ฉด Pull Request์ ์ ๋ชฉ๊ณผ ์ค๋ช ์ ์ ๋ ฅํ๋ ํ๋ฉด์ด ๋ณด์ธ๋ค. ํญ์น ํ๋ก์ ํธ ์์ ์๊ฐ ํ๋จ์ ๋ด๋ฆด ์ ์์ ์ ๋๋ก ๊ณต์ ๋ค์ฌ ์์ฑํด์ผ ํ๋ค. ์ ์์ ํ๋์ง ์ผ๋ง๋ ๊ฐ์น ์๋์ง ์ค๋ช ํด์ ๊ด๋ฆฌ์๋ฅผ ์ค๋ํด์ผ ํ๋ค.
๊ทธ๋ฆฌ๊ณ โaheadโ ํ ํฝ ๋ธ๋์น๊ฐ master
๋ธ๋์น์์ ๋ฌ๋ผ์ง ์ปค๋ฐ๋ ๋ณด์ฌ์ฃผ๊ณ ์์ ๋ ๋ด์ฉ์ โunified diffโ ํ์์ผ๋ก ๋ณด์ฌ์ค๋ค. ์ด ์์ ๋ด์ฉ์ด ํ๋ก์ ํธ ๊ด๋ฆฌ์๊ฐ Merge ํ ๋ด์ฉ์ด๋ค.
ํ๋ฉด์ ์๋ 'Create pull request' ๋ฒํผ์ ํด๋ฆญํ๋ฉด ํ๋ก์ ํธ ์์์ ์๋ ๋๊ตฐ๊ฐ ์ฝ๋๋ฅผ ๋ณด๋๋ค๋ ์๋ฆผ์ ๋ฐ๋๋ค. ๊ทธ ์๋ฆผ์๋ ํด๋น Pull Request์ ๋ํ ๋ชจ๋ ๊ฒ์ ๋ณด์ฌ์ฃผ๋ ํ์ด์ง์ ๋งํฌ๊ฐ ๋ค์ด ์๋ค.
Note
|
Pull Request๋ ๋ณดํต ๊ณต๊ฐ ํ๋ก์ ํธ์์ ์ฌ์ฉํ๋ค. ๊ธฐ์ฌ์๋ ์์ ํ๊ณ ๋์ ์ ์ ์ฅ์์ Pull Request๋ฅผ ์ฐ๋ค. ๊ฐ๋ฐ ์ด์ฐฝ๊ธฐ์๋ ํ๋ก์ ํธ ๋ด๋ถ์์๋ ๋ง์ด ์ฌ์ฉํ๋ค. ์ด๋ฏธ Pull Request๋ฅผ ์ด์ด ๋์ ํ ํฝ ๋ธ๋์น๋ผ๊ณ ํ ์ง๋ผ๋ ๊ณ์ Push ํ ์ ์๋ค. ๋ง์ง๋ง์ด ์๋๋ผ ์ฒ์๋ถํฐ Pull Request๋ฅผ ์ด๋ฉด ์ด๋ค ์ฃผ์ ๋ฅผ ๊ฐ์ง๊ณ ํ ๋๋ฃ์ ํจ๊ป ํ ๋ก ํ ์ ์์ด์ ์ข๋ค. |
Pull Request๊ฐ ์ค๋ฉด ํ๋ก์ ํธ ์์ ์๋ ๋ณ๊ฒฝ ์ ์ด ๋ฌด์์ธ์ง ํ์ธํ ํ, Merge ํน์ ๊ฑฐ์ ํ๊ฑฐ๋ ์ฝ๋ฉํธ๋ฅผ ๋ฌ ์ ์๋ค. ์์ ์๊ฐ ์์ด๋์ด ์์ฒด๋ฅผ ๋ง์์ ๋ค์ด ํ๋ค๋ฉด ๋น์ ๋ณด๊ธฐ๊น์ง ์ข ๋ ๊ณต์ ๋ค์ฌ์ผ ํ๋ค.
์ด๋ฐ ์ํต์ ์ด๋ฉ์ผ๋ก ํ๋ ์ํฌํ๋ก๋ ch05-distributed-git.asc์ ์ค๋ช ํ์๋ค. GitHub์์๋ ์จ๋ผ์ธ์์ ํ๋ค. ํ๋ก์ ํธ ์์ ์๋ 'unified diff' ํ์์ ๋ณ๊ฒฝ์ฌํญ์ ๊ฒํ ํ๊ณ ์ฆ๊ฐ ํด๋น ๋ผ์ธ์ ์ฝ๋ฉํธ๋ฅผ ๋ฌ ์ ์๋ค.
๊ด๋ฆฌ์๊ฐ ์ฝ๋ฉํธ๋ฅผ ๋ฌ๋ฉด Pull Request๋ฅผ ๋ง๋ ์ฌ๋์๊ฒ ์๋ฆผ์ด ๊ฐ๋ค. ์ค์ ๋ก๋ ์ ์ฅ์๋ฅผ 'Watchโํ๋ ์ฌ๋ ๋ชจ๋์๊ฒ ์๋ฆผ์ด ๊ฐ๋ค. ์๋ฆผ ์ ์ฑ ์ ์ค์ ํ ์ ์์ง๋ง, ๋ค์์ ๊ฒํ ํ๋ค. ์๋ฆผ์ ๋ฐ๋ Tony๊ฐ ์ด๋ฉ์ผ ์๋ฆผ์ ์ผ๋จ๋ค๋ฉด ์ด๋ฉ์ผ ์๋ฆผ๋ ๋ฐ๋๋ค.
๋๊ตฌ๋ Pull Request์ ์ฝ๋ฉํธ๋ฅผ ๋ฌ ์ ์๋ค. Pull Request ํ ๋ก ํ์ด์ง๋ฅผ ๋ณด๋ฉด ํ๋ก์ ํธ ์์ ์๊ฐ ์ฝ๋์ ์ฝ๋ฉํธ๋ฅผ ๋ฌ๊ฑฐ๋ Pull Request ์์ฒด์ ์ฝ๋ฉํธ๋ฅผ ๋ฌ๋ฉด์ ํ ๋ก ํ๋ ๊ฒ์ ๋ณด์ฌ ์ค๋ค. ์ฝ๋ ์ฝ๋ฉํธ๋ ๋งฅ๋ฝ์ ์ด๋ฃจ์ด ์ปค๋ฎค๋์ผ์ด์ ํ ์ ์๋ค.
์ด ํ ๋ก ์ ๋ณด๊ณ ๊ธฐ์ฌ์๋ ์์ ์ด ๋ฌด์์ ํด์ผ ์์ ์ ์ฝ๋๊ฐ ๋ฐ์๋ค์ฌ์ง์ง ์ ์ ์๋ค. ๋คํํ ๋งค์ฐ ์ง๊ด์ ์ด๋ค. ๋ง์ฝ ์ด ์ผ์ ์ด๋ฉ์ผ๋ก ํ๊ณ ์ ํ๋ค๋ฉด ๊ด๋ จ ์ปค๋ฐ์ ๋ค์ ๋ง์์ ๋ฉ์ผ๋ง ๋ฆฌ์คํธ์ ๋ค์ ๋ณด๋ด์ผ ํ๋ค. ํ์ง๋ง, GitHub์์๋ ํด๋น ํ ํฝ ๋ธ๋์น์ ์ด์ด์ ์ปค๋ฐํ๊ณ Push ํ๋ฉด ๋๋ค. ์ต์ข Pull Request์์ Push๋ก ์ ๋ฐ์ดํธํ PR์ ์ฝ๋๋ฅผ ๋ณด๋ฉด ์์ ์ฝ๋์ ๋ฌ๋ ธ๋ ์ฝ๋ฉํธ๋ ๋์ค์ง ์๋๋ค. ์ถ๊ฐ๋ ์ปค๋ฐ์ผ๋ก ์ธํด ์ฝ๋๊ฐ ์์ ๋์๊ธฐ ๋๋ฌธ์ด๋ค.
๊ธฐ์กด PR์ ์ด์ด์ Push๋ฅผ ํ๋ฉด ์๋ฆผ์ด ๊ฐ์ง ์๋๋ค. ๊ทธ๋์ Tony๋ ์์ ์ด ์์ ํ ๋ด์ฉ์ ์ฝ๋ฉํธ๋ก ๋จ๊ฒผ๋ค. ๊ทธ๋ฌ๋ฉด ํ๋ก์ ํธ ์์ ์๋ ๋ฌด์จ ์ผ์ด ์์๋์ง ์ฝ๊ฒ ์ ์ ์๋ค.
๊ผญ ์ง๊ณ ๋์ด๊ฐ์ผ ํ ๊ฒ์ด ์๋ค. ์ด Pull Request์ โFiles Changedโ ํญ์ ํด๋ฆญํ๋ฉด โunifiedโ diff๋ฅผ ๋ณผ ์ ์๋ค. ์ด Pull Request๊ฐ ์ฃผ ๋ธ๋์น์ Merge ๋๋ฉด ์ด๋ป๊ฒ ๋ฌ๋ผ์ง๋์ง ๋ณด์ฌ์ค๋ค. git diff
๋ช
๋ น์ ๋น์ด ํํํ์๋ฉด git diff masterโฆโ<branch>
์ ๊ฐ์ ๋ช
๋ น์ด ์คํ๋๋ ๊ฑฐ๊ณ <branch>
๋ Pull Request์ ๋ธ๋์น๋ฅผ ์๋ฏธํ๋ค. ch05-distributed-git.asc์์ ์์ธํ ์ค๋ช
ํ๋ค.
๊ทธ ์ธ ์์๋๋ฉด ์ข์ ๊ฒ์ GitHub์ Pull Request๊ฐ Merge ๋ ์ ์๋์ง ๊ฒ์ฌํด์ ์๋ฒ์์ Merge ํ ์ ์๋๋ก Merge ๋ฒํผ์ ์ ๊ณตํ๋ค. ์ด ๋ฒํผ์ ์ ์ฅ์์ ์ฐ๊ธฐ ๊ถํ์ด ์๋ ์ฌ๋๋ง ๋ณผ ์ ์๊ณ ์ด ๋ฒํผ์ผ๋ก Merge ํ๋ฉด Merge ์ปค๋ฐ์ด ์๊ธด๋ค(Trivial Merge). โfast-forwardโ Merge๊ฐ ๊ฐ๋ฅํ ๋๋ โnon-fast-forwrdโ ๋ก Merge ํ๋ค.
๋ก์ปฌ์ Pull Request ๋ธ๋์น๋ฅผ ๋น๊ฒจ์์ Merge ํด๋ ๋๋ค. master
๋ธ๋์น์ Merge ํด์ GitHub์ Push ํ๋ฉด ์๋์ผ๋ก ํด๋น Pull Request๊ฐ ๋ซํ๋ค.
์ด๋ฐ ๋ฐฉ์์ด ๋๋ถ๋ถ์ GitHub ํ๋ก์ ํธ๊ฐ ์ฌ์ฉํ๋ ๊ธฐ๋ณธ ์ํฌํ๋ก๋ค. ํ ํฝ ๋ธ๋์น๋ฅผ ๋ง๋ค๊ณ Pull Request๋ฅผ ์ฐ๋ค. ๊ฑฐ๊ธฐ์ ํ ๋ก ์ ๊ณ์ ํ๊ณ ๊ทธ ๋ธ๋์น์ ์ปค๋ฐ์ ํ๊ธฐ๋ ํ๋ค. ๋ง์ง๋ง์๋ Mergeํ๊ณ Request๋ฅผ ๋ซ๋๋ค.
Note
|
Fork๋ ์ต์
ํ ์ ์ฅ์์ ๋ ๋ธ๋์น๋ฅผ ๋๊ณ ๋ Pull Request๋ฅผ ์ด ์ ์๋ค. ํ ์ ์ฅ์์ ์ฐ๊ธฐ ๊ถํ์ด ์๋ ๋๋ฃ ๋์ด์ ์ด๋ค ๊ธฐ๋ฅ์ ์ถ๊ฐํ๋ ค๊ณ ํ๊ณ ์๋ค๋ฉด ํ ํฝ ๋ธ๋์น๋ฅผ ๋ง๋ค๊ณ Push ํ๋ค. ๊ทธ๋ฆฌ๊ณ ๋์ ๊ฐ์ ์ ์ฅ์์ |
GitHub์์ ํ๋ก์ ํธ์ ๊ธฐ์ฌํ๋ ๋ฐฉ๋ฒ ์ค ๊ฐ์ฅ ๊ธฐ๋ณธ์ ์ธ ๋ฐฉ๋ฒ์ ์ดํด๋ดค๋ค. Pull Request๋ฅผ ์ฌ์ฉํ ๋ ๋์์ด ๋๋ ์ ์ฉํ ํ์ ๋ช ๊ฐ์ง ์ดํด๋ณด์.
๋ณดํต ํ๋ก์ ํธ์์๋ Pull Request์ Patch๊ฐ ์๋ฒฝํ๊ณ ํ์ฒ๋ผ ๊ผญ ์์๋๋ก ์ ์ฉ๋ผ์ผ ํ๋ค๊ณ ์๊ฐํ์ง ์๋๋ค. ๋ฉ์ผ๋ง ๋ฆฌ์คํธ๋ฅผ ์ฌ์ฉํ๋ ํ๋ก์ ํธ์์๋ Patch ์์๊ฐ ์๋ฏธ๊ฐ ์๋ค๊ณ ์๊ฐํ๋ค. GitHub์ Pull Request๋ ์ด๋ค ์ฃผ์ ๋ฅผ ๋๊ณ ๋ ผ์ํ๋ ์๋ฆฌ๋ค. ๋ ผ์๊ฐ ๋ค ๋ฌด๋ฅด์ต์ผ๋ฉด Merge ํ๋ค.
์ด ์ฐจ์ด๋ ๋งค์ฐ ์ค์ํ๋ค. ์ผ๋ฐ์ ์ผ๋ก ์ฒ์๋ถํฐ ์๋ฒฝํ ์ฝ๋๋ฅผ ๋ณด๋ผ ์ ์์ด์ ๋ฉ์ผ๋ง ๋ฆฌ์คํธ๋ก Patch๋ฅผ ๋ณด๋ผ ์ผ์ ๋ณ๋ก ์๋ค. Pull Request๋ ์ด๊ธฐ๋ถํฐ ํ๋ก์ ํธ ๊ด๋ฆฌ์์ ์ํตํ ์ ์๋๋ก ํด์ฃผ๊ธฐ ๋๋ฌธ์ ํผ์ ๋ต์ ์ฐพ๋ ๊ฒ ์๋๋ผ ์ปค๋ฎค๋ํฐ์์ ํจ๊ป ์ฐพ์ ์ ์๋ค. ๋๊ตฐ๊ฐ Pull Request๋ฅผ ์ด๋ฉด ๊ด๋ฆฌ์์ ์ปค๋ฎค๋ํฐ๋ ์ด๋ป๊ฒ ์์ ํ๋ ๊ฒ ์ข์์ง ์๊ฒฌ์ ๋ธ๋ค. Patch๋ฅผ ์ฒ์๋ถํฐ ๋ค์ ์ ์ฒด๋ฅผ ์์ฑํ์ง ์์๋ ๋๋ค. ์์ ํ ๋งํผ๋ง ํด๋น ๋ธ๋์น์ ์ปค๋ฐํ๊ณ ํ๋ ์ผ๊ณผ ๋ํ๋ฅผ ๊ณ์ ํด ๋๊ฐ๋ฉด ๋๋ค.
์ต์ข Pull Request๋ก ๋์๊ฐ์ ๋ค์ ๋ณด๋ฉด ๊ธฐ์ฌ์๊ฐ ์ปค๋ฐ์ Rebase ํ๊ฑฐ๋ Pull Request๋ฅผ ๋ค์ ์ด์ง ์์๋ค๋ ๊ฒ์ ํ์ธํ ์ ์๋ค. ๊ทธ๋ฅ ๊ธฐ์กด ๋ธ๋์น์ ์ข ๋ ์ปค๋ฐํ๊ณ Push ํ์ ๋ฟ์ด๋ค. ๋์ค์ ์๊ฐ์ด ์ง๋์ ์ด Pull Request๋ฅผ ๋ค์ ์ฝ์ผ๋ฉด ์ ์ด๋ฐ ๋ฐฉํฅ์ผ๋ก ๊ฒฐ์ ํ๋์ง์ ๋ํ ๋งฅ๋ฝ์ ์ฝ๊ฒ ์ ์ ์๋ค. ์น์ฌ์ดํธ์์ โMergeโ ๋ฒํผ์ ๋๋ฅด๋ฉด Merge ์ปค๋ฐ์ ์ผ๋ถ๋ฌ ๋จ๊ธฐ๊ฒ ๋ค๋ ๋ป์ด ๋๋ค. ์ด Merge ์ปค๋ฐ์๋ Pull Request ์ ๋ณด๊ฐ ๋ค์ด๊ฐ๊ธฐ ๋๋ฌธ์ ํ์ํ๋ฉด ์ธ์ ๋ ์ง ๋งฅ๋ฝ์ ํ์ธํ ์ ์๋ค.
Pull Request๊ฐ ๋ง๋ ์ง ์ค๋๋๊ฑฐ๋ ๊นจ๋ํ๊ฒ Merge ๋์ง ์์ผ๋ฉด ๋ฉ์ธํ ์ด๋๊ฐ ์ฝ๊ฒ Merge ํ ์ ์๊ฒ ์์ ํ๋ค. GitHub์ ์๋์ผ๋ก Merge ํ ์ ์๋ Pull Request์ธ์ง ์๋์ง Pull Request ํ์ด์ง ํ๋จ์์ ์๋ ค์ค๋ค.
๊นจ๋ํ๊ฒ Merge ํ ์ ์๋ Pull Request ๊ฐ์ ๋ฉ์์ง๋ฅผ ๋ณด๋ฉด ํด๋น ๋ธ๋์น๋ฅผ ๊ณ ์ณ์ ๋ น์์ผ๋ก ๋ง๋ ๋ค. ๋ฉ์ธํ ์ด๋๊ฐ ๊ณ ์น์ง ์์๋ ๋๋๋ก ํ๋ค.
์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ๋ฐฉ๋ฒ์ ๋ ๊ฐ์ง๊ฐ ์๋ค. ๋์ ๋ธ๋์น(๋ณดํต์ master
๋ธ๋์น)๋ฅผ ๊ธฐ์ค์ผ๋ก Rebase ํ๋ ๋ฐฉ๋ฒ์ด ์๊ณ ๋์ ๋ธ๋์น๋ฅผ Pull Request ๋ธ๋์น์ Merge ํ๋ ๋ฐฉ๋ฒ์ด ์๋ค.
GitHub์ ์ฌ์ฉํ๋ ๊ฐ๋ฐ์๋ ๋๋ถ๋ถ ํ์๋ฅผ ๊ณ ๋ฅธ๋ค. ์์ ์ดํด๋ดค๋ ๊ฒ๊ณผ ๊ฐ์ ์ด์ ๋ค. Rebase ํ๋ฉด ํ์คํ ๋ฆฌ๋ ๊นจ๋ํด์ง์ง๋ง ํจ์ฌ ๋ ์ด๋ ต๊ณ ์๋ฌ ๋๊ธฐ ์ฝ๋ค.
Pull Request๊ฐ Merge ๋ ์ ์๋๋ก ๋์ ๋ธ๋์น๋ฅผ Merge ํ๋ ค๋ฉด ๋จผ์ ์ ์ ์ฅ์๋ฅผ ๋ฆฌ๋ชจํธ๋ก ์ถ๊ฐํ๋ค. ๊ทธ๋ฆฌ๊ณ ๋์ Fetch ํ๊ณ ๊ทธ ์ ์ฅ์์ ๋์ ๋ธ๋์น๋ฅผ ํด๋น ํ ํฝ ๋ธ๋์น์ Merge ํ๋ค. ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ณ ๊ทธ ๋ธ๋์น์ ๋๋ก Push ํ๋ค.
โtonychaconโ ์์ ์ ์ด ์ํฌํ๋ก๋ฅผ ์ ์ฉํด๋ณด์. ์์ ์๊ฐ ๋ญ๊ฐ ์์ ์ ํ๋๋ฐ Pull Request์ ์ถฉ๋์ด ๋๋ค. ์ฌ๊ธฐ๋ถํฐ ์ดํด๋ณด์.
$ git remote add upstream https://github.com/schacon/blink (1)
$ git fetch upstream (2)
remote: Counting objects: 3, done.
remote: Compressing objects: 100% (3/3), done.
Unpacking objects: 100% (3/3), done.
remote: Total 3 (delta 0), reused 0 (delta 0)
From https://github.com/schacon/blink
* [new branch] master -> upstream/master
$ git merge upstream/master (3)
Auto-merging blink.ino
CONFLICT (content): Merge conflict in blink.ino
Automatic merge failed; fix conflicts and then commit the result.
$ vim blink.ino (4)
$ git add blink.ino
$ git commit
[slow-blink 3c8d735] Merge remote-tracking branch 'upstream/master' \
into slower-blink
$ git push origin slow-blink (5)
Counting objects: 6, done.
Delta compression using up to 8 threads.
Compressing objects: 100% (6/6), done.
Writing objects: 100% (6/6), 682 bytes | 0 bytes/s, done.
Total 6 (delta 2), reused 0 (delta 0)
To https://github.com/tonychacon/blink
ef4725c..3c8d735 slower-blink -> slow-blink
-
์ ์ ์ฅ์๋ฅผ โupstreamโ ์ด๋ผ๋ ์ด๋ฆ์ ๋ฆฌ๋ชจํธ๋ก ์ถ๊ฐํ๋ค
-
๋ฆฌ๋ชจํธ์์ ์ต์ ๋ฐ์ดํฐ๋ฅผ Fetch ํ๋ค
-
๋์ ๋ธ๋์น๋ฅผ ํ ํฝ ๋ธ๋์น์ Merge ํ๋ค
-
์ถฉ๋์ ํด๊ฒฐํ๋ค
-
๋์ผํ ํ ํฝ ๋ธ๋์น์ ๋๋ก Push ํ๋ค
์ด๋ ๊ฒ ํ๋ฉด Pull Request๋ ์๋์ผ๋ก ์ ๋ฐ์ดํธ๋๊ณ ๊นจ๋ํ๊ฒ Merge ํ ์ ์๋์ง ์ฌํ์ธ๋๋ค.
์ฐ์์ฑ์ Git์ ์ฅ๊ธฐ ์ค ํ๋๋ค. ์ค๋ซ๋์ ๋ฌด์์ธ๊ฐ ๋ง๋ค๊ณ ์๋ค๋ฉด ์ต์ ์ผ๋ก ์ ์งํ๊ธฐ ์ํด ๋์ ๋ธ๋์น๋ฅผ ์ฝ๊ฒ Merge ํด ์ฌ ์ ์๋ค. ๋ค ๋ง์น ๋๊น์ง ํ๊ณ ๋ ํ๊ณ ํ ์ ์๋ค. Merge ํ ๋ ๋ฐ์ํ๋ ์ถฉ๋๋ง ํด๊ฒฐํ๋ฉด ๋๊ณ ์ง์์ ์ผ๋ก ๊ฐ๋ฐ ํ๋ก์ธ์ค๋ฅผ ๊ด๋ฆฌํ ์ ์๋ค.
๋ธ๋์น๋ฅผ ๊ผญ ๊นจ๋ํ๊ฒ ์ ์งํ๊ณ ์ถ์ด์ Rebase ํด์ผ ํ๋ค๊ณ ์๊ฐํ๋ค๋ฉด ์ด๋ฏธ ์ด์ด ๋์ Pull Request์ ๋๊ณ Push ํ์ง ๋ง์์ผ ํ๋ค. ๊ทธ๋ผ ์ด ๋ธ๋์น๋ฅผ ๊ฐ์ ธ๋ค Merge ํด ๋์ ์ฌ๋๋ค์ ch03-git-branching.asc์ ์ค๋ช ํ๋ฏ์ด ์ถฉ๊ฒฉ์ ๋น ์ง ๊ฒ์ด๋ค. ๋์ ๋ธ๋์น๋ฅผ ์๋ก ๋ง๋ค์ด Push ํ๋ค. ๊ทธ๋ฆฌ๊ณ Pull Request๋ ์๋ก ์ฌ๋๋ฐ ์ Pull Request๊ฐ ๋ญ์ง ์ ์ ์๋๋ก ์ฐธ์กฐ๋ฅผ ๋ฌ๊ณ ์๋ ๊ฒ์ ๋ซ๋๋ค.
๊ทธ๋ผ ๋ฐ๋ก โ์ด๋ป๊ฒ Pull Request๋ฅผ ์ฐธ์กฐ์ํค์ง?โ ๋ผ๋ ์๋ฌธ์ด ๋ค๊ฒ ์ง๋ง, ๋ฐฉ๋ฒ์ ๋งค์ฐ ๋ง๋ค. GitHub์ ์ฐ๊ธฐ ๊ฐ๋ฅํ ๊ณณ ์ด๋์์๋ ์ฐธ์กฐ๋ฅผ ๋ฌ ์ ์๋ค.
๋จผ์ Issue์ Pull Request๋ฅผ ์๋ก ์ฐธ์กฐ์ํค๋ ๋ฐฉ๋ฒ๋ถํฐ ์ดํด๋ณด์. ๋ชจ๋ Pull Request์ Issue์๋ ํ๋ก์ ํธ ๋ด์์ ์ ์ผํ ๋ฒํธ๋ฅผ ํ๋ ํ ๋นํ๋ค. ์๋ฅผ ๋ค์ด, #3์ธ Pull Request์ #3์ธ Issue๋ ๋์์ ์์ ์ ์๋ค. #<num>
๊ณผ ๊ฐ์ ํํ๋ก ์ฝ๋ฉํธ๊ฐ๋ ์ค๋ช
์ Pull Request์ Issue๋ฅผ ์ฐธ์กฐ์ํฌ ์ ์๋ค. ์ด ๋ฐฉ๋ฒ์ ๋จ์ผ ํ๋ก์ ํธ ๋ฒ์์์๋ง ์ ํจํ๋ค. Fork ์ ์ฅ์์ Issue๋ Pull Request๋ฅผ ์ฐธ์กฐ์ํค๋ ค๊ณ ํ๋ค๋ฉด username#<num>
๋ผ๊ณ ์ฐ๊ณ ์์ ๋ค๋ฅธ ์ ์ฅ์๋ฉด username/repo#<num>
๋ผ๊ณ ์จ์ผ ํ๋ค.
์ค๋ช ์ ์ํด ์ด๋ฏธ ๋ธ๋์น๋ฅผ Rebase ํ๊ณ Pull Request๋ฅผ ์๋ก ๋ง๋ค์๋ค๊ณ ํ์. ๊ทธ๋ผ ์์ Pull Request๊ฐ ๋ญ์ง ์ ์ ์๋๋ก ์๊ฒ์์ ์์ ๊ฒ์ ์ฐธ์กฐํ๊ฒ ํด๋ณด๊ณ Pull Request์ ์ํธ ์ฐธ์กฐ ํธ์ง.๊ฐ์ด Fork ํ ์ ์ฅ์์ ์ด์๋ ์์ ๋ค๋ฅธ ์ ์ฅ์์ ์ด์๋ ์ฐธ์กฐํ๊ฒ ํด๋ณด์.
์ด Pull Request๋ฅผ ๋ณด๋ด๋ฉด Pull Request์ ์ํธ ์ฐธ์กฐ.์ฒ๋ผ ๋ณด์ธ๋ค.
GitHub URL์ ์ ๋ถ ์ ๋ ฅํด๋ ๋ฑ ํ์ํ ๋งํผ์ผ๋ก ์ค์ด๋ ๋ค.
๊ทธ๋ฆฌ๊ณ ์๋ ์๋ Pull Request๋ฅผ ๋ซ์ผ๋ฉด ์ Pull Request์๋ ๊ธฐ์กด Pull Request๊ฐ ๋ซํ๋ค๊ณ ์ธ๊ธ๋๋ค. GitHub์ Pull Request ํ์๋ผ์ธ์ ํธ๋๋ฐฑ ์ด๋ฒคํธ๋ฅผ ์๋์ผ๋ก ๋ง๋ ๋ค. ๊ทธ๋์ ์ด Pull Request์ ๋ฐฉ๋ฌธํ๋ ์ฌ๋์ ์์ Pull Request๊ฐ ๋ซํ๋์ง ์ ์ ์๊ณ ๊ทธ ๋งํฌ๊ฐ ์์ด์ ๋ฐ๋ก ํด๋ฆญํด์ ์์ ๊ฒ์ ๋ณผ ์ ์๋ค. ์ด ๋งํฌ๋ ๋ซ์ Pull Request์ ํธ๋๋ฐฑ์ฒ๋ผ ์๊ฒผ๋ค.
์ด์๋ฟ๋ง ์๋๋ผ ์ปค๋ฐ์ SHA๋ ์ฐธ์กฐํ ์ ์๋ค. 40์ SHA๋ฅผ ์ ์ผ๋ฉด GitHub์ ์๋์ผ๋ก ํด๋น ์ปค๋ฐ์ ๋งํฌ๋ฅผ ๊ฑธ์ด ์ค๋ค. Fork ์ ์ฅ์๋ ์์ ๋ค๋ฅธ ์ ์ฅ์์ ์ปค๋ฐ๋ ์ด์์ ๋์ผํ ๋ฐฉ์์ผ๋ก ๋งํฌ์ํฌ ์ ์๋ค.
๋ค๋ฅธ ์ด์๋ฅผ ๋งํฌํ๋ ๊ฒ์ GitHub ๊ธ์ฐ๊ธฐ์ ์ฒซ๊ฑธ์์ ๋ถ๊ณผํ๋ค. โGitHub Flavored Markdownโ ์ด๋ผ๋ ํ์์ผ๋ก ์ด์๋ Pull Request์ ์ค๋ช , ์ฝ๋ฉํธ, ์ฝ๋ ์ฃผ์ ๋ฑ์์ ๊ธ์ ์ธ ์ ์๋ค. Markdown ํ์์ผ๋ก ๊ธ์ ์ฐ๋ฉด ๊ทธ๋ฅ ํ ์คํธ๋ก ์ด ๊ธ์ด์ง๋ง ํ์์ ๊ฐ์ถฐ ๋ฏธ๋ํ๊ณ ์๋ฆ๋ต๊ฒ ๋ ๋๋ง๋๋ค.
GitHub Flavored Markdown ์์ .๋ Markdown์ผ๋ก ์ด ๊ธ์ด ์ด๋ป๊ฒ ๋ ๋๋ง๋๋์ง ๋ณด์ฌ์ค๋ค.
GitHub Flavored Markdown(์ดํ GFM)์ ๊ธฐ๋ณธ Markdown์ ํ์ฅํ๋ค. GFM์ Pull Request๋ ์ด์ ๋ฑ์ ๊ธ์ ์ธ ๋ ๋งค์ฐ ์ ์ฉํ๋ค.
GFM์ด ํ์ฅํ ๊ฒ ๊ธฐ๋ฅ ์ค ํ์คํฌ ๋ฆฌ์คํธ๊ฐ ์๋๋ฐ Pull Request์์ ์ฌ์ฉํ๋ฉด ์ข๋ค. ๊ฐ๋จํ ๋งํด์ ํ์คํฌ ๋ฆฌ์คํธ๋ ์๋ฃํ๋ค๊ณ ํ์ํ ์ ์๋ ์ฒดํฌ๋ฐ์ค์ ๋ชฉ๋ก์ด๋ค. ์ด์๋ Pull Request์์ ๋ค ํ๋ค๊ณ ํ๊ธฐํ๊ณ ์ถ์ ๋ ์ฌ์ฉํ๋ค.
ํ์คํฌ ๋ฆฌ์คํธ๋ ์๋์ ๊ฐ์ด ์ฌ์ฉํ๋ค.:
- [X] Write the code
- [ ] Write all the tests
- [ ] Document the code
์ด ํ์คํฌ ๋ฆฌ์คํธ๋ฅผ ์ด์๋ Pull Request์ ์ฌ์ฉํ๋ฉด ํ์คํฌ ๋ฆฌ์คํธ.์ฒ๋ผ ๋ ๋๋ง๋๋ค.
Pull Request๋ฅผ Merge ํ๊ธฐ ์ ์ ๊ผญ ์ฒ๋ฆฌํด์ผ ํ๋ ์ผ์ ๋ชฉ๋ก์ ํํํ ๋ ํ์คํฌ ๋ฆฌ์คํธ๋ฅผ ์ฌ์ฉํ๋ค. Markdown์ ์ง์ ๊ณ ์น์ง ์๊ณ ์ฒดํฌ๋ฐ์ค๋ง ํด๋ฆญํด๋ ํด๋น ํ์คํฌ๊ฐ ์๋ฃ๋๋ค๊ณ ์ ๋ฐ์ดํธ๋๊ธฐ ๋๋ฌธ์ ์๋นํ ์ข์ ๊ธฐ๋ฅ์ด๋ค.
GitHub์ ์ด์๋ Pull Requests์ ์๋ ํ์คํฌ ๋ฆฌ์คํธ๋ฅผ ์ง๊ณํด์ ๋ชฉ๋ก ํ๋ฉด์์ ๋ณด์ฌ์ค๋ค. ์๋ฅผ ๋ค์ด, ํ์คํฌ๋ค์ด ์ ๋ฆฌ๋ Pull Request๊ฐ ์์ผ๋ฉด Pull Request ์์ฝ ํ์ด์ง์์ ์ผ๋ง๋ ์งํ๋๋์ง ๋ณผ ์ ์๋ค. ๊ทธ๋์ Pull Request๋ฅผ ํ์คํฌ ์ฌ๋ฌ ๊ฐ๋ก ์ชผ๊ฐ ๋๋ฉด ๊ทธ ๋ธ๋์น๊ฐ ์ผ๋ง๋ ์งํ๋๋์ง ์๊ธฐ ์ฝ๋ค. Pull Request ๋ชฉ๋ก ํ๋ฉด์์ ๋ณด์ฌ์ฃผ๋ ํ์คํฌ ํํฉ.๋ฅผ ๋ณด์.
Pull Request๋ถํฐ ์ด์ด ๋๊ณ ์ผ์ ํ๋ฉด ํด๋น ๊ธฐ๋ฅ์ด ์ผ๋ง๋ ์งํ๋๋์ง ์ฝ๊ฒ ์ ์ ์๋ค.
์ฝ๋ฉํธ์ ์ฝ๋ ์กฐ๊ฐ๋ ๋ฃ์ ์ ์๋ค. ์ค์ ๋ก ๊ตฌํํด์ ๋ธ๋์น์ ์ปค๋ฐํ๊ธฐ ์ ์ ๋ญ๊ฐ ์์ด๋์ด๋ฅผ ์ฝ๋๋ก ํํํด ๋ณผ ๋ ์ข๋ค. ๊ทธ ์ธ์๋ ๋จ์ํ ์ฝ๋ ์์ ๋ฅผ ๋ณด์ฌ์ฃผ๊ธฐ ์ํด์ ์ฌ์ฉํ๊ฑฐ๋ ํด๋น Pull Request์์ ๊ตฌํํ ๊ฒ์ด ๋ฌด์์ธ์ง ๋ณด์ฌ์ค ๋๋ ์ฌ์ฉํ๋ค.
๋ฐฑํฑ์ผ๋ก ๋ โFenceโ ์์ ์ฝ๋ ์กฐ๊ฐ์ ๋ฃ๋๋ค.
```java
for(int i=0 ; i < 5 ; i++)
{
System.out.println("i is : " + i);
}
```
์ฝ๋ ์กฐ๊ฐ์ ์ธ์ด ์ด๋ฆ์ ์ฐ๋ฉด GitHub์ ๊ตฌ๋ฌธ๊ฐ์กฐ(Syntax Highlight)๋ ํด์ค๋ค. ๊ตฌ๋ฌธ๊ฐ์กฐ๋ก ๋ฏธ๋ํด์ง ์ฝ๋.๋ ์ธ์ด ์ด๋ฆ์ ๋ฃ์ด์ ๊ตฌ๋ฌธ ๊ฐ์กฐ๋ ๊ฒฐ๊ณผ๋ค.
์์ฃผ ๊ธด ๊ธ์์ ๋ฑ ํ ๋ถ๋ถ๋ง ์ง์ด์ ๋
ผ์ํ๊ณ ์ถ์ ๋ >
๋ฌธ์๋ก ํด๋น ๋ถ๋ถ์ ์ธ์ฉํ๊ณ ๊ทธ ๋ฐ์ ์ฝ๋ฉํธ๋ฅผ ๋จ๋ค. ์ด ๋ฐฉ๋ฒ์ ๋งค์ฐ ํํ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ด๋ผ, ์๋นํ ์ ์ฉํ๊ณ , ๋จ์ถํค๋ ์ง์ํ๋ค. ์ธ์ฉํ๊ณ ์ถ์ ํ
์คํธ๋ฅผ ์ ํํ๊ณ r
ํค๋ฅผ ๋๋ฅด๋ฉด ๋ฐ๋ก ์ฝ๋ฉํธ ์์์ ํด๋น ํ
์คํธ๊ฐ ์ธ์ฉ๋๋ค.
์๋์ ๊ฐ์ด ์ธ์ฉํ๋ค.
> Whether 'tis Nobler in the mind to suffer
> The Slings and Arrows of outrageous Fortune,
How big are these slings and in particular, these arrows?
์ด ํ ์คํธ๋ ์ธ์ฉ ์์ .์ฒ๋ผ ๋ ๋๋ง๋๋ค.
๋ง์ง๋ง์ผ๋ก ์๊ฐํ๋ ๊ฒ์ ๊ธ์ Emoji๋ฅผ ๋ฃ์ ์ ์๋ค๋ ๊ฒ์ด๋ค. Emoji๋ GitHub ์ด์๋ Pull Request์์ ์ ๋ง ๋ง์ด ์ฌ์ฉ๋๋ค. GitHub์ Emoji๋ฅผ ์ฝ๊ฒ ์ฌ์ฉํ ์ ์๋๋ก ๋๋๋ค. ์ฝ๋ฉํธ๋ฅผ ์ธ ๋ :
๋ฌธ์๋ก Emoji ์
๋ ฅ์ ์์ํ๋ฉด ์ ํํด์ ์๋์์ฑํ ์ ์๋๋ก Emoji ๋ชฉ๋ก์ ๋ณด์ฌ์ค๋ค.
Emoji๋ :<name>:
ํ์์ผ๋ก ์๊ฒผ๋ค. ์๋ ์์ ๋ฅผ ๋ณด์.
I :eyes: that :bug: and I :cold_sweat:.
:trophy: for :microscope: it.
:+1: and :sparkles: on this :ship:, it's :fire::poop:!
:clap::tada::panda_face:
๋ ๋๋ง๋๋ฉด Emoji๋ฅผ ๋ง์ด ์ด ๊ธ.์ฒ๋ผ ๋ณด์ธ๋ค.
Emoji๋ ์ ๋ณด ์ ๋ฌํ๋ ๋ฐ๋ ์ข์ง๋ง ์ผ๋ง๋ ์ฌ๋ฐ๊ณ ๊ธฐ์์ง ๊ฐ์ ํํ๋ ๊ฐ๋ฅํ๋ค.
Note
|
Emoji ๋ฌธ์๋ฅผ ์ฌ์ฉํ๋ ์น ์๋น์ค๊ฐ ์ ๋ง ๋ง๋ค. ์ด๋ค Emoji ๋ฌธ์๊ฐ ์๋์ง ์ฝ๊ฒ ์ฐพ์๋ณผ ์ ์๋ ์นํธ์ํธ๊ฐ ์์ด์ ๋๊ณ ๋๊ณ ์ฐธ๊ณ ํ ์ ์๋ค. |
GitHub์ด ์ ๊ณตํ๋ ๊ธ์ ์ด๋ฏธ์ง๋ฅผ ํฌํจ์ํค๋ ๊ธฐ๋ฅ์ ๊ธฐ์ ์ ์ผ๋ก GFM์ด ์๋์ง๋ง ์์ฒญ ์ ์ฉํ๋ค. Markdown ํ์์ผ๋ก ์ด๋ฏธ์ง๋ฅผ ์ฒจ๋ถํ๊ณ ์ถ์ ๋ ์ผ๋ฐ์ ์ธ ๋ฐฉ๋ฒ์ผ๋ก๋ ์ด๋ฏธ์ง๋ฅผ ์ฌ๋ฆฌ๊ณ ๊ทธ URL์ ์ฐพ์์ ์ผ์ผ์ด ์ ๋ ฅํด์ผ ํ๋๋ฐ ๋ฒ๊ฑฐ๋กญ๋ค. GitHub์์๋ ๊ทธ๋ฅ ์ด๋ฏธ์ง๋ฅผ ๋ฐ๋ก Drag-and-Drop์ผ๋ก ๋ถ์ฌ ๋ฃ์ ์ ์๋ค.
๋์ด๋ค ๋๊ธฐ๋ก ์ด๋ฏธ์ง ์๋ ๋ถ์ด๊ธฐ.๋ก ๋์๊ฐ์ ๋ณด๋ฉด Text Area ์์ โParsed As Markdownโ ์ด๋ผ๋ ํ์๋ฅผ ๋ณผ ์ ์๋ค. ๊ทธ ๋งํฌ๋ฅผ ํด๋ฆญํ๋ฉด GitHub์์ Markdown์ ์ด๋ป๊ฒ ์ฌ์ฉํ๋์ง ์๋ ค์ฃผ๋ ์นํธ์ํธ๋ฅผ ๋ณด์ฌ์ค๋ค.