GitHub์ ๋จ์ํ git remote ์ ์ฅ์๋ก๋ง ์ฌ์ฉํ๊ณ ์๋ค๋ฉด GitHub ์์ฒด์ ์ผ๋ก ์ ๊ณตํ๋ ๋ค์ํ ๊ธฐ๋ฅ๋ค์ ๋์น๊ณ ์์ ๊ฒ์ด๋ค. ํ์ ์์ฐ์ฑ ๊ตฌ๋ฃจ๊ฐ ํ๋ช ์ฏค ์๋ค๋ฉด ์ฌ๋ฌ ํ๋ค์ ๊ณต์ ๋ฐ๊ฑฐ๋ ์ด๋ฏธ ์ ์ฉ๋์ด ์์ํ ๋ฐ, ๋ณดํต ์ด๋ ๊ฒ ์ง์ฐฉ(?)ํ๋ ํ์์ ๋ณด๊ธด ์ด๋ ค์ธ ๊ฒ์ด๋ค. ๋ํ ์ด๋ฐ ๋ฏธ๋ฆฝ์ ํ๋ค์ ํํธํ ๋์ด ์์ด ์ผ์ผํ ์ฐพ์๋ณด๊ธฐ๋ ๊ท์ฐฎ๋ค.
์ฌ๋ด ๊ณต์ ๋ฅผ ๊ณ๊ธฐ๋ก ํํธํ๋์ด ์๋ ํ๋ค์ ๋ฐ๋ก ์ ์ฉํด ๋ณผ ์ ์๋๋ก ํ ๊ณณ์ผ๋ก ๋ชจ์๋ดค๋ค. ํ์ฌ ํ์์ GitHub์ ์ฌ์ฉํ๋ค๋ฉด ํ๋์ฉ ์ ์ฉํด๋ณด์. ๋ชธ์ ์ต๊ณ , ํ์๋ค์ด ํจ๊ป ์ดํดํ๊ณ ์ฌ์ฉํ๋ค๋ณด๋ฉด ๋ถ๋ช ์ด์ ๋ณด๋ค ๋์ ์ ๋ฌด ํ๊ฒฝ์ด ๋ ๊ฒ์ด๋ผ ์๊ฐํ๋ค.
GitHub ๋จ์ถํค
๋จ์ถํค๋ฅผ ์ด์ฉํ๋ฉด ํน์ ๋ชฉ์ ์ง๊น์ง ์ฌ๋ฌ ์คํญ์ ์ก์ ์ ๊ฑฐ์น์ง ์๊ณ ๋ฐ๋ก ์ ๊ทผํ ์ ์๋ค. ์๋๋ ๊ฐ์ธ์ ์ผ๋ก ์์ฃผ ์ฌ์ฉํ๋ ๋จ์ถํค๋ค์ด๋ค. ๋ชจ๋ ๋จ์ถํค์ ๋ํด ๊ถ๊ธํ๋ค๋ฉด Keyboard shortcuts์ ์ฐธ๊ณ ํ๊ธธ ๋ฐ๋๋ค.
g
c
โ Code ํ๋ฉด์ผ๋ก ์ด๋g
i
โ Issues ํ๋ฉด์ผ๋ก ์ด๋g
p
โ Pull requests ํ๋ฉด์ผ๋ก ์ด๋g
w
โ Wiki ํ๋ฉด์ผ๋ก ์ด๋t
โ ํ์ผ๋ช ๊ฒ์(Fuzzy file finder)/
โ ๊ฒ์cmd
/
โ (์ด์/PR ๋ชฉ๋ก์์) ๋ด๋ถ ๊ฒ์ctrl
.
,ctrl
1
โ ์ ์ฅ๋ ์ฝ๋งจํธ ์ฌ์ฉํ๊ธฐ?
โ ํ์ฌ ํ๋ฉด์์ ์ฌ์ฉํ ์ ์๋ ๋จ์ถํค ์ค๋ช
๐ค GitHub ๋ฟ๋ง ์๋๋ผ ๋ชจ๋ ์น์ฌ์ดํธ์์ ๊ณตํต๋ ๋จ์ถํค๋ฅผ ํ์ฉํ๊ธฐ ์ํด์ ๋๋ ํฌ๋กฌ ๋ธ๋ผ์ฐ์ ์ Vimium ํ์ฅํ๋ก๊ทธ๋จ์ ์ฌ์ฉํ๊ณ ์๋ค. GitHub ๊ธฐ๋ฅ์ ์๋์ง๋ง ์ต์ํด์ง๋ฉด ์์ฐ์ฑ์ด ๊ฝค ์ข์์ ธ์ ๋จ๊ธด๋ค.
๐ค ํฌ๋กฌ ๊ฒ์์์ง์ ํ์ฉํ๋ฉด ์ข ๋ ๋น ๋ฅด๊ฒ GitHub ์ด์/PR์ ์ ๊ทผํ ์ ์๋ค. ํฌ๋กฌ ๋ธ๋ผ์ฐ์ ์์
chrome://settings/searchEngines
์ ์ ๊ทผํ์ฌ ๊ฒ์ ์์ง์ ์ถ๊ฐํ๋ฉด ๋๋ค. ํ์ฌ ์ฐ๋ฆฌํ์ plan์ด๋ repo๋ฅผ ์ค์ ์ผ๋ก ์ ๋ฌด๋ฅผ ์งํํ๋๋ฐ, ์ด repo์ ๊ฒ์ URL์ ๊ฒ์ ์์ง์ผ๋ก ์ถ๊ฐํ์ฌGitHub ์ ๊ทผ > repo ์ ๊ทผ > ๊ฒ์์ฐฝ ํด๋ฆญ
์ ๋จ๊ณ๋ฅผ ๊ฑฐ์น์ง ์๊ณ ๋ฐ๋ก ๊ฒ์ํ ์ ์์ด ๊ต์ฅํ ์ ์ฉํ๋ค.โฅ Search engine:
Plan
โฅ Keyword:pl
โฅ URL with %s in place of query:https://<github-url>/<org>/plan/issues?utf8=โ&q=is%3Aissue+is%3Aopen+%s
Markdown/Comment ๊ด๋ จ
๊ธฐ๋ณธ์ ์ธ ๋งํฌ๋ค์ด ๋ฌธ๋ฒ์ ๋ชจ๋๊ฐ ์ํ ๋ ์ค๋ช ํ์ง ์์ผ๋ฉฐ, ๊ธฐ๋ณธ์ ์ธ ๊ฒ ์ธ์ ๋ค์ํ ๋งํฌ๋ค์ด ์ฌ์ฉ๋ฒ๊ณผ ์ฝ๋งจํธ ๋จ๊ธธ ๋ ์ ์ฉํ ๊ธฐ๋ฅ๋ค์ ๋ํด์ ์ค๋ช ํ๋ค.
Issue/PR ๋ณธ๋ฌธ์ โ์ ๊ธฐ/ํผ์น๊ธฐโ ์ถ๊ฐํ๊ธฐ
๋ณด๊ณ ์๋ฅผ ์ ์์ฑํด์ผํ๋ ๊ฒ๊ณผ ๋์ผํ๊ฒ ์ด์/์ฝ๋งจํธ/PR ๋ณธ๋ฌธ๋ค๋ ์ ์์ฑํด๋ฌ์ผ ํ๋ค. ๋ถ๊ฐ ์ค๋ช ์ด๋ ์จ๊ฒจ๋ ํ์๊ฐ ์๋ ์์ค์ฝ๋ ๋ฑ์ ๋ํ๋ผ ๋ ์ ์ ์ ์๋ ์ฝํ ์ธ (collapsible content)๋ฅผ ํ์ฉํ ์ ์์ผ๋ฉฐ, ์๋์ ๊ฐ์ด ์์ฑํ๋ค.
<details>
<summary>Details</summary>
```kt
println("Hello World")
```
</details>
โ ๏ธ Warning:
<summary>
ํ๊ทธ ์ดํ์ ๊ฐํ์ด ์์ด์ผ ํจ.
ํค๋ณด๋ ํ๊ทธ ์ฌ์ฉํ๊ธฐ
๋งํฌ๋ค์ด์ <kbd>
ํ๊ทธ๋ฅผ ์ฌ์ฉํ๋ฉด ํค๋ณด๋ ๋ฒํผ๊ณผ ๊ฐ์ UI๋ฅผ ๋ํ๋ผ ์ ์๋ค.
Hex ์์ ์ฝ๋ ๋ํ๋ด๊ธฐ
๋งํฌ๋ค์ด์ #C6E48B
๊ฐ์ hex code๋ก ํํ๋ ์์์ ์ฝ๋ ๋ธ๋ญ์ ์์ฑํ๋ฉด ์๋์ ๊ฐ์ด ์์์ด ๊ฐ์ด ํํ๋๋ค.
์ฝ๋ ๋ฌธ๋ฒ ํ์ด๋ผ์ดํ โ diff ๋ฌธ๋ฒ
์ฝ๋ ๋ธ๋ญ์ ์์ฑํ ๋ ```
๋ค์์ ์ธ์ด ์๋ณ์๋ฅผ ์์ฑํ๋ฉด ํ์ด๋ผ์ดํ
์ ์ ์ฉํ ์ ์๋ค. ์ถ๊ฐ์ ์ผ๋ก ํ๋ก๊ทธ๋๋ฐ ์ธ์ด ์๋ณ์ ๋ง๊ณ , diff
๋ ์์ผ๋ ํ์ํ ๊ฒฝ์ฐ๊ฐ ์์ผ๋ ์ฌ์ฉํด๋ณด์.
์ฝ๋ ์ค๋ํซ ์ถ๊ฐํ๊ธฐ
ํ์ฌ ์ ์ฅ๋ ์ฝ๋์ ์ผ๋ถ๋ฅผ ๋จ๊ฒจ์ผํ ๋ ์ง์ ์์ค ์ฝ๋๋ฅผ ์ ๋ ฅํ์ง ์๊ณ ์๋์ ๊ฐ์ด ์ค๋ํซ์ ์ถ๊ฐํ ์ ์๋ค. ์ฌ์ฉ ๋ฐฉ๋ฒ์ ์ฌ๊ธฐ๋ฅผ ์ฐธ๊ณ ํ๊ธธ ๋ฐ๋๋ค.
์ฝ๋งจํธ์ ๋ต๋ณ ๋จ๊ธฐ๊ธฐ
ํน์ ์ฝ๋งจํธ์ ๋ต๋ณ์ ๋จ๊ธธ ๋ โQuote replyโ ๋ฒํผ์ ์ฌ์ฉํ๋ฉด ํด๋น ์ฝ๋งจํธ๋ฅผ ๋ด์ฉ์ ์๋์ผ๋ก ์ถ๊ฐํด์ค๋ค. ์ด๋ฅผ ํตํด ์์ฑํ๋ฉด ์ด๋ค ์ฝ๋งจํธ์ ๋ํ ๋ต๋ณ์ธ์ง ํ์
ํ๊ธฐ ์ฌ์์ง๋ค. โQuote replyโ ๋ฒํผ์ ๋จ์ถํค r
๋ก ๋์ฒดํ ์ ์๋ค.
์ถ๊ฐ์ ์ผ๋ก, ๋ต๋ณ์ ๋จ๊ธธ ํน์ ์ฝ๋งจํธ์ ๋ด์ฉ์ ๋๋๊ทธํ ๋ค โQuote replyโ๋ฅผ ํด๋ฆญํ๋ฉด ๋๋๊ทธํ ๋ณธ๋ฌธ์ ๋ด์ฉ๋ง ์ธ์ฉํ ์ ์๋ค.
Anchors ์ถ๊ฐํ๊ธฐ
ํน์ ์ฝ๋งจํธ๋ฅผ ์ฐธ๊ณ ๋งํฌ๋ก ์ถ๊ฐํ ๋ ์ฝ๋งจํธ ์์ฑ์ผ์ ํด๋ฆญํ์ฌ ์ฃผ์๋ฅผ ๋ณต์ฌํด์ ์ฌ์ฉํ ์ ์๋ค. ๊ทธ๋ผ ํน์ ์ฝ๋งจํธ์ ํน์ ๋ฌธ๊ตฌ/์์น๋ฅผ ์ฐธ๊ณ ๋งํฌ๋ก ๋จ๊ธธ ๋ ์ด๋ป๊ฒ ํ ๊น? ๋ฐฉ๋ฒ์ ๊ฐ๋จํ๋ค. ๋งํฌ๋ค์ด์ HTML ํ๊ทธ๋ฅผ ์ง์ํ๋ ์ง์ ์ต์ปค๋ฅผ ๋ง๋ค์ด์ค ์ ์๋ค.
์๋์ ๊ฐ์ด <a name=""></a>
ํ๊ทธ๋ฅผ ์ํ๋ ์์น์ ์ถ๊ฐํ๊ณ , ํด๋น ์ต์ปค๋ฅผ #
์ ํตํด ๋งํฌ๋ฅผ ๋ง๋ค์ด์ค๋ค.
### <a name="toc"></a>๋ชฉ์ฐจ<a name="reference"></a>...์ฐธ๊ณ ์๋ฃ๋ [์ฌ๊ธฐ](#reference)๋ฅผ ํ์ธํ๋ผ.
[๋ชฉ์ฐจ ๋ฐ๋ก๊ฐ๊ธฐ](#toc)
Note, Warning ๋ธ๋ฝ ์ฌ์ฉํ๊ธฐ
Asciidoc์ ์๋ ๊ธฐ๋ฅ์ด GitHub markdown์๋ ์ถ๊ฐ๋์๋ค. ์ด์, PR, discussions, ๋ฆด๋ฆฌ์ฆ ๋ ธํธ ๋ฑ์ ์ ์ฉ์ด ๊ฐ๋ฅํ๋ฉฐ, ๋ณด๋ค ๊ฐ๋ ์ฑ ์๋ ๋ฌธ์๋ฅผ ์์ฑํ ์ ์๋ค. (์ฐธ๊ณ ๋ ผ์)
> **Note**
> This is a note
> **Warning**
> This is a warning
์์ฃผ ์ฐ๋ ๋ต๋ณ ์ ์ฅํ๊ธฐ
๋งํฌ๋ค์ด ์๋ํฐ์ ์ค๋ฅธ์ชฝ ์๋จ์ ๋ณด๋ฉด ํ์ดํ ์์ด์ฝ์ด ํ๋ ์๋๋ฐ, ์์ฃผ ์ฐ๋ ๋ต๋ณ์ ์ ์ฅํด์ ๋ฐ๋ก ๋ฐ๋ก ์ฌ์ฉํ ์ ์๊ฒ ํด์ค๋ค(๋ณดํต LGTM๐
์ด ๊ฐ์ฅ ๋ง์ด ์ฌ์ฉ๋์ง ์์๊น ์๊ฐํ๋ค).
๐ค emoji ํ์ฉํด๋ณด์. ์ง์ ์ด๋ชจ์ง๋ฅผ ์ ๋ ฅํ ์๋ ์์ง๋ง, GitHub ์์ฒด์ ์ผ๋ก ํน์ ํค์๋๋ฅผ ํตํด์๋ ์ง์ํ๋ค. (์๋ฅผ ๋ค๋ฉด, ์๋ํ ๋๊ตฌ๋ฅผ ๋ง๋ ๋ค๊ฑฐ๋ ์์ฃผ ์ฐ๋ ๋ต๋ณ์ ์ถ๊ฐํ ๋ ํ์ฉํ ์ ์๋ค)
โฅ ref: ikatang/emoji-cheat-sheet
์ฝ๋งจํธ ์จ๊ธฐ๊ธฐ
GitHub์ ํ์ ๋๊ตฌ๋ก ์ฌ์ฉํ๊ณ ์๋ค๋ฉด ์ด์์์ ๋๋ถ๋ถ ์ปค๋ฎค๋์ผ์ด์ ์ด ์ด๋ค์ง ๊ฒ์ด๋ค. ์ด ๋ ์ปค๋ฎค๋์ผ์ด์ ์ด ์ค๋ซ๋์ ์ด์ด์ง๋ฉด ์์ฐ์ค๋ฝ๊ฒ ์ฝ๋งจํธ๊ฐ ๋ง์์ง๋ค. ์ด๋ฌํ ์ฝ๋งจํธ๋ค์ ๋ณ๊ฒฝ๋ ๋ด์ฉ๋ ๋ง๊ณ , ๋ ์ด์ ๋ถํ์ํ๊ฑฐ๋ ์ค๋ณต๋ ์ฝ๋งจํธ๋ ๋ง์ ๊ฒ์ด๋ค. ์ด๊ฒ๋ค์ ๊ทธ๋๋ก ์ ์งํ๋ฉด(ํผ์ณ๋๋ฉด) ํต์ฌ ๋ด์ฉ ํน์ ์ฝ๋ฉํธ๊ฐ ์ ์๋ณด์ด๊ฒ ๋๋ค. ์ด๋ฌํ ๋ฌธ์ ์ ์ ํด๊ฒฐํ๊ธฐ ์ํด GitHub์์๋ ์ฝ๋งจํธ ์จ๊น ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ค.
์์ ๋น์์๋ ๋ฐ๋ก ์คํฌ๋กค์ ๋ด๋ฆฐ๋ค๋๊ฐ ๋ด์ผ ํ ์ฝ๋งจํธ๋ฅผ ์๊ณ ์์ผ๋ ์๊ด ์๊ฒ ์ง๋ง, ํญ์ ๋ฌธ์ ๋ ์๊ฐ์ด ์ง๋ ๋ค์ ๋ฐ์ํ๋ค. ๋์ค์ ํด๋น ์์ ๊ฑด ํ์คํ ๋ฆฌ๋ฅผ ํ์ ํ๊ณ ์ ํ ๋ ํต์ฌ ์ฝ๋งจํธ๋ง ๋ณด์ธ๋ค๋ฉด ๋ง์ ์๊ฐ์ ์๋ ์ ์์ ๊ฒ์ด๋ค.
์ฝ๋งจํธ ๋ณ๊ฒฝ ์ด๋ ฅ ๋ณด๊ธฐ
GitHub์ ํ์ ๋๊ตฌ์ด๋ค. (๋ฒ์ ๊ด๋ฆฌ ํ๋) Git์ด ์๋๋ฏ๋ก ํ์ ์ ์ํ ๋ค์ํ ๊ธฐ๋ฅ์ ์ ๊ณตํ๊ณ ์ฐ๋ฆฌ๋ ์ด๋ฅผ ํ์ฉํด์ผ ํ๋ค. GitHub์์ ๊ฐ์ฅ ๋ง์ด ์ฌ์ฉ๋๋ ๊ธฐ๋ฅ ์ค ํ๋๊ฐ ์ฝ๋งจํธ์ผ ๊ฒ์ด๋ค. ์ฝ๋งจํธ๋ ๋ณ๊ฒฝ์ด ๊ฐ๋ฅํ๊ณ ๋ณ๊ฒฝ ์ด๋ ฅ๋ ๊ด๋ฆฌํด์ฃผ๋ฏ๋ก ์ฝ๋งจํธ๋ฅผ ์์ฑํ๋๋ฐ ๋๋ฌด ๋ถ๋ด ๊ฐ์ง ๋ง๊ณ , ๋ฆฌํฉํ ๋ง ํ๋ฏ์ด ๋ด์ฉ๋ ๊ฐ์ ํด๋๊ฐ์.
๋ํ ์ด๋ ฅ ์ ๊ทธ๊ธฐ
์ ๋ฌด๋ฅผ ํ๋ค๋ณด๋ฉด ์ด์๋ PR ๋ด์์ ์ด๋ ์ ๋ ์ปค๋ฎค๋์ผ์ด์ ์ด ์ด๋ค์ง๊ณ ํด๊ฒฐ๋ ์ด์๋ค์ด ๋ง์์ง ๊ฒ์ด๋ค. GitHub์์๋ ์ด์์ ๋ํ ์ด๋ ฅ์ ์ ๊ทธ๋ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ค. (๋ฌผ๋ก ๊ทธ๋ฐ ์ผ์ ์๊ฒ์ง๋ง) ์ด๋ฅผ ํตํด ๋์ค์ ์ด์๋ฅผ ์ฐพ์๋ดค์ ๋ ์ด์๊ฐ ์กฐ์๋๊ฑฐ๋ ์ฝ๋งจํธ๊ฐ ์ญ์ ๋๋ ๊ฒ์ ๋ฐฉ์งํ๋ค.
Issue/Pull Request ๊ด๋ จ
์ด์์ PR์ ๊ด๋ จํด์ ๊ณตํต๋ ๊ธฐ๋ฅ๋ค์ ๋ํด ์ค๋ช ํ๋ค.
์ด์ ๋งค๋์ง โ Assignee, Participant
์ ๋ฌด๋ฅผ ์งํํ ๋ ํด๋น ์ด์์ ๋ด๋น์๋ง assignee๋ก ์ง์ ํ์. ๊ด์ต์ฒ๋ผ ๋ชจ๋ ํ์์ ์ง์ ํ๋ค๋ฉด ํด๋น ๊ธฐ๋ฅ์ ํ๋๋๋ง ๋ชปํ ์ค์ ์ด ๋ ๊ฒ ์ด๋ค. (๋ด๋น์ ์๋ ๊ธฐ๋ฅ ํน์ ๊ฐ์ธ ์ ๋ฌด ํํฐ๋ง ๋ถ๊ฐ)
๋ด๋น์๊ฐ ์๋์ง๋ง ํด๋น ์ด์๋ฅผ ์ถ์ ํ๊ณ ์ถ๋ค๋ฉด Subscribe ๋ฅผ ํตํด Notification์ ๋ฐ์ ์ ์๋ค. ๋ฐ๋๋ก ํด๋น ์ด์์ ๋ํ ์ด๋ฒคํธ๋ฅผ ์๋ฐ๊ณ ์ถ๋ค๋ฉด Unsubscribe ํด๋๋ฉด ๋๋ค.
๋ํ, ํด๋น ์ด์์ ์ฝ๋งจํธ๋ฅผ ๋จ๊ธฐ๋ฉด ์๋์ผ๋ก Participants์ ์ถ๊ฐ๋๋ฏ๋ก ๊ด๋ จ์ ํ์ ์ด ์ฉ์ดํ๋ค.
PR/์ด์ ์ฐ๊ฒฐํ๊ธฐ
GitHub์์๋ (์ค์ ์์ ์ ๋ํ๋ด๋) PR๊ณผ (์์ ์ ์์์ ๋ํ๋ด๋) ์ด์๋ฅผ ์ฐ๊ฒฐํด์ค๋ค. ์ด๋ ๊ฒ ์ฐ๊ฒฐํด์ค์ผ๋ก์จ ์๊ฐ์ด ์ง๋ ํ์๋ ํ์คํ ๋ฆฌ ํ์ ์ด ์ฌ์์ง๊ณ ์ง๊ด์ ์ธ UI/UX์ ์ ๊ณตํ๋ฏ๋ก ์ด์์ PR์ ์ค๋ณต์ผ๋ก ์์ ๋ด์ฉ์ ๊ตฌ๊ตฌ์ ์ ์ค๋ช ํ ํ์๊ฐ ์์ด์ง๋ค.
์ด์๋ฅผ ์ฐ๊ฒฐํ๋ ๋ฐฉ๋ฒ์๋ 2๊ฐ์ง๊ฐ ์กด์ฌํ๋ค. ์ฒซ๋ฒ์งธ๋ URL ๋๋ ๋ ํผ๋ฐ์ค๋ฅผ ํตํด ์ด์ ํ์๋ผ์ธ์ ์ฐ๊ฒฐ๋จ์ ํ์ํ๋ ๋ฐฉ๋ฒ์ด๋ค. ๋จ์ํ ์ด์/PR ๋ณธ๋ฌธ์ ์ด์/PR ๋งํฌ๋ฅผ ์ถ๊ฐํ๋ฉด ๋๋ค. ๋ํ GitHub์ ๋ด๋ถ URL(Raw reference)์ผ ๊ฒฝ์ฐ ์๋์ผ๋ก Short link๋ก ๋ณํํด์ค๋ค. URL ์ด์ธ์ ๋ณ๋ prefix(#
)๋ฅผ ํตํด์๋ ์ฐ๊ฒฐ์ด ๊ฐ๋ฅํ๋ค.
๋๋ฒ์งธ ๋ฐฉ๋ฒ์ผ๋ก๋ ์ฌ์ด๋๋ฐ์ ์๋ โLinked issuesโ ๋ฅผ ํตํด ์ง์ ์ฐ๊ฒฐํ๋ ๋ฐฉ๋ฒ์ด๋ค. ์ด ๋ฐฉ๋ฒ์ผ๋ก ์ฐ๊ฒฐ์ ํ์๋ผ์ธ ์ธ์๋ ์ฌ์ด๋๋ฐ, ์ด์/PR ๋ชฉ๋ก์ ์ฐ๊ฒฐ๋จ์ ๋ํ๋ด๋ฏ๋ก ์ด์ ๋ฐฉ์๋ณด๋ค ์ง๊ด์ ์ธ UI/UX๋ฅผ ์ ๊ณตํ๋ค.
๐ค ์ปค๋ฐ ๋ฉ์ธ์ง์๋ ๊ด๋ จ ์ด์/PR ๋ฒํธ ํน์ commit hash๋ฅผ ๋จ๊ฒจ๋์. ์ด์ ๊ฐ์ ๋ฐ์ดํฐ๋ค์ ๋๋ถ๋ถ์ ํด์์ ์๋์ผ๋ก ๋งํฌ๋ฅผ ๋ง๋ค์ด์ฃผ๋ฏ๋ก ์ ์ง๋ณด์ ์ธก๋ฉด์์ ๋์์ ์ค๋ค. ์ปค๋ฐํ ๋ ์ฝ๊ฐ์ ์๊ฐ์ ํ ์ ํด๋ณด์. ์ด๊ฒ์ด ๋์ค์ ํ์คํ ๋ฆฌ ๋ค์ง๋๋ฐ ๋ง์ ์๊ฐ ๋ญ๋น๋ฅผ ์ค์ฌ์ค ๊ฒ์ด๋ค. (๋ณธ์ธ๋ฟ๋ง ์๋๋ผ ํ์ ๋ชจ๋)
๐ค ZenHub์ ์ฌ์ฉ์ค์ด๋ผ๋ฉด PR์ ์์ฑ๋๋ โConnect with an issueโ๋ฅผ ํตํด์๋ ์ฐ๊ฒฐํด์ฃผ์. ์ ๋ฌด ๊ด๋ฆฌํ๋๋ฐ ๋ถ๋ช ๋์์ด ๋ ๊ฒ ์ด๋ค.
PR์ ํตํด ์ด์ ๋ซ๊ธฐ
PR์ ํน์ ํค์๋์ ํจ๊ป Raw reference๋ฅผ ์ ์ผ๋ฉด, PR๊ณผ ์ด์๊ฐ ์ฐ๊ฒฐ๋จ๊ณผ ๋์์ PR์ด ๋ซํ ๊ฒฝ์ฐ(= ์์ ์ด ์๋ฃ๋ ๊ฒฝ์ฐ) ํด๋น ์ด์๊ฐ ์๋์ผ๋ก Close ๋๋ค. ๋จ์ํ Raw reference๋ง ์ ์ด์ ์ด์๋ฅผ ์ฐ๊ฒฐํ ๊ฒฝ์ฐ ํ์๋ผ์ธ์๋ง ์ถ๊ฐ๋๋๋ฐ, ํค์๋๋ฅผ ์ฌ์ฉํ๋ฉด โLinked issuesโ์ ์๋์ผ๋ก ๋ฑ๋ก๋๋ฏ๋ก ํ์ฉ๋๊ฐ ๋๋ค.
์ด์/PR ํ ํ๋ฆฟ ๋ง๋ค๊ธฐ
PR ์์ฑ์ ํ
ํ๋ฆฟ์ ์ ๊ณตํ ์ ์๋ค. .github/PULL_REQUEST_TEMPLATE.md
ํ์ผ์ ์์ฑํ์ฌ ์ ๊ณตํ ์ ์์ผ๋ฉฐ, <!-- -->
์ผ๋ก ์ฃผ์๋ ๋จ๊ธธ ์ ์์ผ๋ PR ๋ณธ๋ฌธ ์์ฑ ๊ฐ์ด๋๋ฅผ ๋จ๊ธธ ์ ์๋ค. ์ด๋ฌํ ํ
ํ๋ฆฟ ๊ธฐ๋ฅ์ PR ๋ฟ๋ง ์๋๋ผ ์ด์ ํ
ํ๋ฆฟ๋ ์์ฑํ ์ ์๋ค. ์๋์ ์์ ํ
ํ๋ฆฟ ์ฝ๋๋ ์ถ๊ฐํด๋์์ผ๋ ํ์ฉํด๋ณด์.
<!-- Linked issues -->
org/repo### Summary## Test Plan
<!-- ํ ์คํธ ๋ฐฉ๋ฒ ์ค๋ช ํน์ TC๋ฅผ ์ถ๊ฐํ๋์ง-->## Related services
<!-- ํ ์๋น์ค์ ์์กด์ฑ์ด ์์ ๊ฒฝ์ฐ ์ค๋ช -->
N/A## References
<!-- ๊ด๋ จ ์๋ฃ๊ฐ ์์ ๊ฒฝ์ฐ ์ฒจ๋ถ ๋ฐ ๋งํฌ ์ถ๊ฐ -->
GitHub์์ ์จ ๋ฉ์ผ์ ๋ต์ฅ์ ํตํด ์ฝ๋งจํธ ๋จ๊ธฐ๊ธฐ
GitHub์ผ๋ก๋ถํฐ ๋ฐ์ ๋ฉ์ผ์ ๋ต๋ณ์ ํตํด ์ฝ๋งจํธ๋ฅผ ๋จ๊ธธ ์ ์๋ค. ์ด๋ฅผ ํ์ฉํ๋ค๋ฉด, CI ์๋ฒ์์ ํน์ ํค์๋๋ฅผ ํตํด ํธ๋ฆฌ๊ฑฐ๋๋๋ก ์ค์ ๋์ด ์์ ๋ ๋ฉ์ผ ๋ต๋ณ์ ํตํด ๋ฐ๋ก ํด๋น ์์ ์ ์คํ์ํฌ ์ ์๋ค.
๋ผ๋ฒจ ๋ถํ๊ธฐ
TODO
Pull Request ๊ด๋ จ
PR๊ณผ ์ฝ๋ ๋ฆฌ๋ทฐ์ ๊ด๋ จ๋ ๊ธฐ๋ฅ์ ๋ํด ์ค๋ช ํ๋ค.
diff ๋ณผ ๋ whitespace ์ ์ธํ๊ธฐ
PR ๋ด diff๋ฅผ ๋ณผ ๋ ํฌ๋งทํฐ๊ฐ ์ ์ฉ๋์๊ฑฐ๋ ๊ณต๋ฐฑ ๋ณ๊ฒฝ์ด ๋ง์ ๊ฒฝ์ฐ ์ฝ๋ ๋ฆฌ๋ทฐํด์ผ ํ ํต์ฌ ์ฝ๋๊ฐ ์ ๋ณด์ด์ง ์๋๋ค. ์ด ๋ ๋ค์ ๋ ๊ฐ์ง ๋ฐฉ๋ฒ์ผ๋ก whitespace ๋ณ๊ฒฝ์ ์ ์ธํ ์ ์๋ค.
- โDiff settingsโ์์ โHide shitespace changesโ ์ ํํ๊ธฐ
- diff URL์์
?w=1
์ถ๊ฐํ๊ธฐ
Merge ๋ ๋ธ๋์น ์๋ ์ญ์ ํ๊ธฐ
PR์ ํตํด ์์ ์ด ์๋ฃ๋์์ ๋ ๋ธ๋์น ์ญ์ ๋ฅผ ๊น๋นกํ๋ ๊ฒฝ์ฐ๊ฐ ์๋ค. ์ด๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด GitHub์ ๋จธ์ง๋ ๋ธ๋์น๋ฅผ ์๋ ์ ๊ฑฐํด์ค๋ค. repo์ โSettingsโ์์ โMerge buttonโ ์น์ ์๋์์ ํด๋น ์ค์ ์ ํ์ฑํํ ์ ์๋ค.
์ ๊ฑฐ๋ ๋ธ๋์น ๋ณต๊ตฌํ๊ธฐ(Restore)
GitHub์ PR์์ ์ ๊ฑฐ๋ ๋ธ๋์น๋ฅผ ๋ณต๊ตฌํ๋ ๊ธฐ๋ฅ์ด ์๋ค. ์๋ง ์๋ ์ ๊ฑฐํ๋ ๊ธฐ๋ฅ์ด ์์ผ๋ ๋ณต๊ตฌํ๋ ๊ธฐ๋ฅ๋ ์๋ ๊ฒ์ผ๋ก ๋ณด์ธ๋ค. ๊ทธ๋ฌ๋ ๋จธ์ง๋ ๋ธ๋์น ์๋ ์ ๊ฑฐ์ ์๋ฏผํ ํ์๊ฐ ์๋ค.
๐ค ๋จธ์ง๋ ๋ธ๋์น๋ฅผ ๋ณ๋ค๋ฅธ ์ด์ ์์ด ์ ์งํ ํ์๋ ์๋ค. Git ๊ฐ๋ ์์ Remote์ ์ญํ ์ ์๊ฐํด๋ณด์. Remote๋ ํ์ ๊ตฌ์กฐ์์ ์์ ์ ๊ณต์ ํ๋ ๊ณต๊ฐ์ด๋ค. ์ฆ, ์์ ์ด ์๋ฃ๋ ์ดํ์ ๋ฒ์ ๊ด๋ฆฌ๋ฅผ ์ํด์ ๋ธ๋์น๋ฅผ ๋จ๊ฒจ๋๋ ๊ณณ์ด ์๋๋ค. ๋ฒ์ ๊ด๋ฆฌ๋ฅผ ์ํด์๋ git์ tag๋ GitHub์ release๋ฅผ ํ์ฉํด์ผ ํ๋ค.
๋ํ, ์์ ์ด๋ ฅ์ ์ปค๋ฐ์ ๋จ๊ธฐ๋ ๋ฐฉ์์ ๋ํด์๋ ๋จธ์ง ๋ฐฉ์์ ์ปจํธ๋กค ํ ์ค ์์์ผ ํ๋ค. ๋ธ๋์น์ ์ปค๋ฐ์ ์ ์งํ๋ ค๋ฉด fast-forward merge ํน์ 3-way merge๋ฅผ ํด์ผ ํ๊ณ , ์ํฉ์ ๋ฐ๋ผ squash merge๋ฅผ ์ฌ์ฉํ ์๋ ์๋ค. (๋จ์ํ ๋ธ๋์น๋ฅผ ๋จ๊ธฐ์๋ ๊ฒ ๋ณด๋ค ๋ธ๋์น์์ ํ์์ ๋ง๊ฒ ์ปค๋ฐ์ ํ๊ณ ๋ฉ์ธ ๋ธ๋์น์๋ ์ด๋ป๊ฒ ์ปค๋ฐํ ์ง ์๊ฐํ ์ค ์์์ผ ํ๋ค๋ ๋ง)
๊ฒฝํ์ ๋ฐ๋ฅด๋ฉด ๋ธ๋์น๋ฅผ ๋จ๊ฒจ๋๋ ๊ฒ์ GitHub ์ด์ธ์ 3rd-party ์์คํ ์์ ๋ธ๋์น ๊ฒ์์ ๋ถํ์ํ ๋ธ๋์น(์ค์ ์์ ์ค์ธ ๋ธ๋์น)๋ฅผ ๋ณด์ฌ์ฃผ๋ ๊ฒฝ์ฐ๊ฐ ๋ฐ์ํ๋ค. ์ด๋ฌํ ์์คํ ์์ ๋ถํ์ํ ๋ธ๋์น ์ ๋ณด๋ค์ ๋ ธ์ด์ฆ๊ฐ ๋๋ค.
โฅ ref: Git Merge โ Atlassian Git Tutorial
โฅ ref: Whatโs the difference between tag and release? โ stackoverflow
๋จธ์ง๋ ๋ธ๋์น ๋กค๋ฐฑํ๊ธฐ(Revert)
๋จธ์ง๋ PR์ ๋ฒ๊ทธ๊ฐ ์์ด์ ํจ์น๋ณด๋จ ๋กค๋ฐฑ์ด ํ์ํ ๊ฒฝ์ฐ๊ฐ ์๋ค. ์ด ๋ GitHub์ PR Revert ๊ธฐ๋ฅ์ ํ์ฉํ๋ฉด ์ฝ๊ฒ ๋กค๋ฐฑ ํ ์ ์๋ค. ์ด๊ฒ์ Git์ ๊ธฐ๋ฅ์ ์๋๋ฉฐ GitHub์์ ํด๋น ์์ ๊ฑด์ ์ญ์ผ๋ก commitํ๋ ๊ธฐ๋ฅ์ด๋ค. ์ด ๊ธฐ๋ฅ์ ๊ฐ๋ ๋ค๋ฅธ ๋ธ๋์น์ ์ถฉ๋์ ๊ฝค๋ ๋ณต์กํ ์ํฉ์ ๋ง๋๋ฏ๋ก commit์ ํ์คํ ๋ฆฌ ์ํ๋ฅผ ์ธ์งํ๊ณ ์ฌ์ฉํ๊ธธ ๋ฐ๋๋ค.
PR ๋จธ์ง ๋ฐฉ์ ์ ํํ๊ธฐ
GitHub์ PR์ Merge ๋ฐฉ๋ฒ์ ๊ฐ์ ํ๊ฑฐ๋ ์ผ๋ถ ํ์ฉํ ์ ์๋ ์ค์ ์ ์ ๊ณตํ๋ค. Git์ ์ฒ์ ์ ํ ์ฌ๋์ด๋ฉด ์๋ง 3-way merge ํน์ fast-forward merge๋ฅผ ์ฃผ๋ก ์ฌ์ฉํ ๊ฒ์ด๋ค. ์ด๋ฌ๋ค ์๊ฐ์ด ๊ฐ์๋ก ๊ธฐํ ๊ฐ์ ๋ณด์ด๋ ๋ธ๋์น/์ปค๋ฐ ๋ก๊ทธ๋ฅผ ๋ณด๋ฉด ๋ค๋ฅธ ๋ธ๋์น ๋จธ์ง ๋ฐฉ๋ฒ์ ์ฌ์ฉํ ๊ฒ์ด๋ค. ํ์ง๋ง Git ์๋ จ๋๊ฐ ๋ถ์กฑํ ๋ rebase๋ฅผ ๋ง๊ตฌ ์ฌ์ฉํ๋ค๋ณด๋ฉด ๋ธ๋์น๊ฐ ๊ผฌ์ฌ ์ง์ง ํฌ์ ๋ง์ดํ ์๋ ์๋ค.
Draft PR ์์ฑํ๊ธฐ
์ด๋ค PR์ด ์์
์ค์ธ์ง, ๋ฒ๋ ค์ก๋์ง ๋จ๋ฒ์ ํ์ธํ ์ ์์๊น? ์์ฑ๋์ง ์ค๋ ์๊ฐ์ด ์ง๋ ํ์ ๋ธ๋์น ์์ฑ์์๊ฒ ๋ฌผ์ด๋ณด๋ ๋ฐฉ๋ฒ๋ ์๊ณ , WIP
๋ผ๋ฒจ๋ง์ ํ์ฉํ ์๋ ์์ง๋ง, ์์ Draft PR๋ก ์์ฑํ์ฌ ์์
์ค์ธ (ํน์ ์์) PR์ด๋ผ๋ ๊ฒ์ ๋จ๋ฒ์ ๋ํ๋ผ ์ ์๋ค. ์ด๋ ๊ฒ GitHub ๊ธฐ๋ฅ์ ํ์ฉํ๋ฉด ์ง๊ด์ ์ธ UI๋ก ํํํ ์ ์์ผ๋ ์ปค๋ฎค๋์ผ์ด์
๋น์ฉ์ ์ค์ผ ์ ์๋ค.
์ผ๋ฐ PR๋ก ์์ฑํ๋ค๊ฐ ๋ค์ Draft๋ก ๋๋๋ฆด ์๋ ์์ผ๋ ๋ณ๊ฒฝ์ ๋ํด์ ๊ฑฑ์ ํ ํ์ ์๋ค. (GitHub Enterprise 2.21.0 ๋ถํฐ ์ ์ฉ)
์ฝ๋ ๋ฆฌ๋ทฐ์์ ์ฝ๋ ์ ์ํ๊ธฐ
์ด์ ์ diff
์ฝ๋ ๋ธ๋ญ ํ์ด๋ผ์ดํ
์ ์ค๋ช
ํ์๋ค. ์ฝ๋ ๋ฆฌ๋ทฐ์ diff UI์ ๋น์ทํ์ง๋ง ์ค์ ์ฝ๋์ ๋ํด์ ์ ์ํ ์ ์๋ suggestion
๊ธฐ๋ฅ์ด ์๋ค. ๋จ์ ํ์ด๋ผ์ดํ
๊ธฐ๋ฅ์ธ diff ์ ๋ค๋ฅด๊ฒ ์ฝ๋ ๋ฆฌ๋ทฐ์ ์ค์ ์ ๋์๊ณ , ๋ฐ๋ก ์ฝ๋๋ก ์ ์ฉํ ์๋ ์๊ฒ ํ๋ค.
์ฌ๋ฌ ์ค์ ์ฝ๋ ๋ฆฌ๋ทฐ ๋จ๊ธฐ๊ธฐ
์ฝ๋ ๋ฆฌ๋ทฐ์ ๋ฆฌ๋ทฐ๋ฅผ ๋จ๊ธธ ์ฝ๋ ๋ผ์ธ์ ๋๋๊ทธ ํน์ ๋ผ์ธ ๋๋ฒ ์ ํ ํ Shift
๋๋ฅธ์ฑ ๋ค๋ฅธ ๋ผ์ธ ๋๋ฒ๋ฅผ ์ ํํ๋ฉด ์ฌ๋ฌ ์ฝ๋ ๋ผ์ธ์ ๋ฆฌ๋ทฐ๋ฅผ ๋จ๊ธธ ์ ์๋ค.
(GitHub Enterprise 2.21 ๋ถํฐ ์ ์ฉ)
์ฝ๋ ๋ฆฌ๋ทฐ์ ํ์ผ๋ง๋ค ๋ฆฌ๋ทฐ ์ฒดํฌํด๋๊ธฐ
์ฝ๋ ๋ฆฌ๋ทฐ์ ํ์ธํ ํ์ผ์ ๋ํด ์ฒดํฌํด๋ ์ ์๋ค(Viewed
). ์ด๋ฅผ ํตํด PR์ ํํํ ๋ฆฌ๋ทฐํ ์๋ ์๊ณ , ํด๋น PR์ ๋ณ๊ฒฝ์ด ์์ ๊ฒฝ์ฐ ๋ณ๊ฒฝ๋ ํ์ผ์ ๋ํด์๋ง ์ฒดํฌ ํด์ ์ํ๋ก ๋ฐ๋๋ ๋ณด๋ค ๋น ๋ฅด๊ณ ํธํ๊ฒ ๋ฆฌ๋ทฐํ ์๋ ์๋ค. ์ฐธ๊ณ ๋ก ์ฒดํฌ๋ฐ์ค ์ํ๋ ํ์ด์ง๋ฅผ ๋ ๋๋ ์ ์ง๋๋ค.
๋ฆฌ๋ทฐ ํด๊ฒฐ ์ฒ๋ฆฌํ๊ธฐ
๋ฆฌ๋ทฐ ๋ฐ์ ๋ด์ฉ์ ๋ํด์ ์ฝ๋๋ฅผ ์์ ํ๋๋ผ๋ PR ๋ด Conversation ํญ์์๋ ๊ทธ๋๋ก ๋ณด์ฌ์ง๋ค. ์ด๋ฏธ ๋ฆฌ๋ทฐ ํ์ธ ๋ฐ ๋ฐ์์ด ๋์์์๋ ๋ถ๊ตฌํ๊ณ ๋ฆฌ๋ทฐ ๋ด์ฉ์ ๋จ๊ฒจ๋๋ฉด ํด๋น PR์ ๋ณผ ๋ ๊ณ์ ํผ์ณ์ง ์ํ๋ก ๋ณด์ฌ์ง๊ฒ ๋๋ค. ๋์ค์ ๋ฐ์๋์๋์ง ๋ค๋ฅธ ์๊ฒฌ์ด ์์ด์ ์ ์งํ๋์ง ์ฝ๋งจํธ๋ฅผ ํ๋ํ๋ ์ฝ์ด๋ด์ผํ๋ ๊ฒฝ์ฐ๊ฐ ๋ฐ์ํ๋ค.
ํด๊ฒฐ ์ฒ๋ฆฌํ ๋ฆฌ๋ทฐ๋ โResolve conversationโ ๋ฒํผ์ ํตํด ๋ซ์์ฃผ์. ํด๊ฒฐ ์ฒ๋ฆฌ๋ ์ด์๋ UI์ ์ผ๋ก ๋ซํ์ง๋๋ฐ ํ์ธ์ด ํ์ํ๋ฉด ์ธ์ ๋ ์ด์ด์ ๋ณผ ์ ์๋ค.
์จ๊ฒจ์ง(Outdated) ๋ํ๋ค ํ๋ฒ์ ์ด์ด๋ณด๊ธฐ
์ฝ๋ ๋ฆฌ๋ทฐ ๋ฐ๊ณ ์ข ๋ฆ๊ฒ ์ฐธ๊ฐํ๋ฉด ์ค๋๋ ๋ํ๋ค์ ๋ชจ๋ ์จ๊น ์ฒ๋ฆฌ๊ฐ ๋๋ค. ์จ๊น ์ฒ๋ฆฌ๋ ๋ํ์ Show outdated
๋ฒํผ์ ํตํด ํด๋น ๋ด์ฉ์ ํผ์ณ๋ณผ ์ ์๋๋ฐ, ์ด ๋ alt
์ ํจ๊ป ํด๋ฆญํ๋ฉด ์จ๊ฒจ์ง ๋ชจ๋ ๋ํ๋ค์ ์ผ๊ด๋ก ์ด ์ ์๋ค.
CODEOWNER ์ง์ ํ๊ธฐ
๊ฐ ๋๋ ํ ๋ฆฌ ํน์ ํ์ฅ์ ๋ณ๋ก ์ฝ๋ ์ค๋๋ฅผ ์ง์ ํ ์ ์๋ค. ์ฃผ์ด์ง ํฌ๋งท์ผ๋ก .github/CODEOWNERS
ํ์ผ์ ์์ฑํ๊ธฐ๋ง ํ๋ฉด ๋๋ค. ์ฝ๋ ์ค๋๋ฅผ ์ง์ ํด๋๋ฉด PR ์์ฑ์ ๋ฆฌ๋ทฐ์ด๋ก ์๋ ๋ฑ๋ก๋ ๋ฟ๋ง ์๋๋ผ ๋ธ๋์น ๋ณดํธ ๊ท์น ์ค์ ์ ์ฝ๋ ์ค๋์ ๋ฆฌ๋ทฐ ์ฌ๋ถ๋ ์ค์ ํ ์ ์๋ค.
(์ถ๊ฐ์ ์ผ๋ก) ๋ฆฌ๋ทฐ์ด๋ฅผ ์ง์ ํ๋ Auto Assign ์ฑ์ํ์ฉํ ์ ์๋ค.
์ฝ๋ ๋ฆฌ๋ทฐ, Auto Assignment ์ค์ ํ๊ธฐ
Wiki ๊ด๋ จ
GitHub์์ ์ ๊ณตํ๋ Wiki ๊ด๋ จ๋ ๊ธฐ๋ฅ์ ๋ํด ์ค๋ช ํ๋ค. ์ด๋ฅผ ํตํด Confluence Wiki ๋ชป์ง ์์ ๋ฌธ์๋ฅผ ๋ง๋ค ์ ์๋ค.
๋ก์ปฌ์์ ํ์ด์ง ์์ฑ/ํธ์งํ๊ธฐ
GitHub์ Wiki๋ ์น ๋ฟ๋ง์๋๋ผ ๋ก์ปฌ์์๋ ์์ฑ/์์ ์ด ๊ฐ๋ฅํ๋ค. Wiki๋ ๋ณ๋์ ๋ฆฌ๋ชจํธ URL์ด ์์ผ๋ฉฐ git์ผ๋ก ๊ด๋ฆฌ๋๋ค. ์ฆ, ํ์ ๊ด๋ฆฌ๋ ๊ฐ๋ฅํ๊ณ ์ด๋ฏธ์ง๋ ๋๋ ํ ๋ฆฌ, ๋ฌธ์ ์ด์ธ์ ํ์ผ๋ ์ ๋ก๋ํ ์ ์๋ค.
Sidebar/Footer ์ฌ์ฉํ๊ธฐ
Wiki์ ๋ฌธ์๋ฅผ ์์ฑํ๋ค๋ณด๋ฉด ์ค๋ฅธํธ์ โPagesโ์ ์ํ๋ฒณ์์ผ๋ก ํ๋์ฉ ์์ด๊ฒ ๋๋ค. ํ์ง๋ง ๋ฌธ์์ ๊ตฌ์กฐ๋ฅผ ์ ๋ฆฌํ๊ณ ์ํ๋ ๋ชฉ์ฐจ๋ฅผ ํํํ๊ณ ์ถ์ ์ ์๋ค. ์ด ๋ Sidebar๋ฅผ ์ฌ์ฉํ๋ฉด ๋๋ค. ์ถ๊ฐ์ ์ผ๋ก Sidebar ์ด์ธ์ Footer๋ ์์ผ๋ฏ๋ก ํ์ฉํ๊ธธ ๋ฐ๋๋ค.
๋ก์ปฌ์์ Sidebar/Footer๋ฅผ ์ถ๊ฐํ๋ ค๋ฉด _Footer.<extension>
ํน์ _Sidebar.<extension>
์ด๋ฆ์ผ๋ก ํ์ผ์ ์์ฑํ๋ฉด ๋๋ค.
Wiki์์ ํ์ด์ง ๋งํฌ๋ฅผ ์์ฑํ ๋ ๊ธฐ์กด ๋งํฌ๋ค์ด๊ณผ๋ ๋ค๋ฅธ ๋ฌธ๋ฒ์ ์ง์ํ๋ค. ๊ธฐ์กด ๋งํฌ๋ค์ด ๋ฌธ๋ฒ๋ณด๋ค ๊ฐ๊ฒฐํ๊ฒ ํด์ฃผ๋ฉฐ ํฌ๊ฒ ๋ ๊ฐ์ง ๋ฐฉ๋ฒ์ด ์๋ค.
์ฒซ๋ฒ์งธ๋ [[File Name]]
์ด๋ค. ์ฌ๊ธฐ์ ์ฃผ์ํ ์ ์ ์ค์ ํ์ผ๋ช
์ด Metrix-Definitions.md
์ง๋ง ํ๊ธฐํ ๋ ๋์(-
)๋ฅผ ๊ณต๋ฐฑ์ผ๋ก ํ๊ธฐํ๋ค. ์๋ฅผ ๋ค๋ฉด, [[Metrix Definitions]]
๋ก ์์ฑํ๋ค.
๋๋ฒ์งธ๋ [[<Display Name>|<File Name>]]
๋ก ํ๊ธฐํ๋ฉฐ, ํ์ผ๋ช
๊ณผ ๋ค๋ฅด๊ฒ ๋ณด์ฌ์ฃผ๊ณ ์ถ์ ๋ ์ฌ์ฉํ๋ค. ์๋ฅผ ๋ค์ด, Developer-Edition-์ดํด๋ณด๊ธฐ.md
์ โDeveloper Editionโ์ผ๋ก ํ๊ธฐํ๊ณ ์ฐ๊ฒฐํ๊ณ ์ ํ ๊ฒฝ์ฐ [[Developer Edition|Developer Edition ์ดํด๋ณด๊ธฐ]]
๋ก ์์ฑํ๋ค.
์ฐธ๊ณ ๋ก File Name์ ์์ฑํ ๋ ์ฃผ์ํ ์ ์ด ์๋ค. ๋งํฌ๋ค์ด๊ณผ ์ฐ๊ฒฐํ๋ ค๋ ํ์ด์ง๊ฐ ๊ฐ์ ๋๋ ํ ๋ฆฌ์ ์์ด์ผ ํ๋ค.
๋๋ ํ ๋ฆฌ ๊ตฌ์กฐ ๋ถ๋ฆฌํ๊ธฐ
GitHub Wiki๋ git์ผ๋ก ๊ด๋ฆฌํ ์ ์์ผ๋ฏ๋ก ๋๋ ํ ๋ฆฌ๋ฅผ ๊ตฌ๋ถํด์ ํ์ผ์ ๊ด๋ฆฌํ ์๋ ์๋ค. ์๋ฅผ ๋ค๋ฉด ์ด๋๋ฏผ๊ณผ ๊ด๋ จ๋ ํ์ด์ง๋ฅผ ๋ชจ์๋๊ธฐ ์ํด ./admin
๋๋ ํ ๋ฆฌ๋ฅผ ์์ฑํ๋ฉด ๋๋ฏ๋ก ๊ฐ๋จํ๋ค.
./
โโโ Home.md
โโโ _Footer.md
โโโ _Sidebar.md
โโโ admin
โโโ Monitoring.md
โโโ _Sidebar.md
๋๋ ํ ๋ฆฌ๋ฅผ ๋๋๋ฉด ๊ฐ ๋๋ ํ ๋ฆฌ๋ณ๋ก _Sidebar.<extension>
, _Footer.<extension>
์ ๊ฐ์ง ์ ์์ผ๋ฏ๋ก ์ข ๋ ๋ฌธ์๋ค์ด UI๋ฅผ ์ ๊ณตํ ์ ์๋ค.
์ด๋ฏธ์ง ์ถ๊ฐํ๊ธฐ
Wiki์์๋ PNG, JPEG, GIF ์ด๋ฏธ์ง๋ฅผ ์ง์ํ๋ค. ์๋ํฐ์์ ๋ฐ๋ก ์ถ๊ฐํ ์ ์๋ค.
๋ก์ปฌ์์ ์์
ํ ๊ฒฝ์ฐ ์ด๋ฏธ์ง๋ค์ ๋๋ ํ ๋ฆฌ๋ก ๋ถ๋ฆฌํ์ฌ ๊ด๋ฆฌํ ์๋ ์๋ค. ์๋ฅผ ๋ค๋ฉด, ์ด๋ฏธ์ง๋ค์ ./images
๋๋ ํ ๋ฆฌ์ ๋ชจ์๋๊ณ , ๋งํฌ๋ค์ด์์[[images/sonarlint.png]]
๋ก ์์ฑํ๋ฉด ์ด๋ฏธ์ง๋ฅผ ๋ณด์ฌ์ค ์ ์๋ค. ์ฐธ๊ณ ๋ก ์๋์ฃผ์๋ก ์ธ์๋๋ฏ๋ก ์ฃผ์ํ๊ธฐ ๋ฐ๋๋ค.
./
โโโ Home.md
โโโ _Footer.md
โโโ _Sidebar.md
โโโ admin
โ โโโ Monitoring.md
โ โโโ _Sidebar.md
โ โโโ images
โโโ images
โโโ sonarlint.png
๋ณ๊ฒฝ ์ด๋ ฅ ๋ณด๊ธฐ
Wiki๋ Git์ผ๋ก ๊ด๋ฆฌ๋๋ฏ๋ก ๋น์ฐํ ํ์๊ด๋ฆฌ๊ฐ ๊ฐ๋ฅํ๋ค. ๊ทธ๋ฌ๋ฏ๋ก git log๋ฅผ ๋ณผ ์ ์๋ค. GitHub์ ์น์์ Wiki ํ์ด์ง์ ๋ณ๊ฒฝ ์ด๋ ฅ ๋๋ ๋ฆฌ๋น์ ๋น๊ต ๋ฐ ๋กค๋ฐฑ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ค.
๊ฒ์ํ๊ธฐ
GitHub์์๋ ๋ค์ํ ๊ฒ์ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ค. ๋๋ถ๋ถ ํค์๋๋ฅผ ํตํ ๋ฐฉ๋ฒ์ด๋ฉฐ Wiki ๋ด์ฉ์ ํํฐ๋งํด์ ๊ฒ์ํ ์๋ ์๋ค. ๋ค์ํ ์ต์ ์ ๊ณต์ ๋ฌธ์๋ฅผ ํ์ธํ๊ธธ ๋ฐ๋๋ค.
๊ธฐํ
Branch Protection Rule
Remote์ ์๋ ๋ธ๋์น์ ๋ณดํธ ๊ท์น์ ์ ํ ์ ์๋ค. ์์ผ๋ ์นด๋ ๋ฌธ๋ฒ(*
)์ ์ฌ์ฉํ๋ฉด ์ฌ๋ฌ ๋ธ๋์น์ ๊ท์น์ ์ง์ ํ ์ ์๋ค. ํ์์ ๋ณ๋์ ๋ธ๋์น ์ ๋ต์ ์ฌ์ฉํ๊ณ ์๋ค๋ฉด ์ ์ฉํ ๊ฒ์ด๋ค.
๋ณดํธ ๊ท์น ์ค ์ผ๋ถ๋ฅผ ์๋ ์ ์ด๋์๋ค. ์๋ง ๊ฐ์ฅ ๋ง์ด ์ฌ์ฉํ๋ ๊ท์น์ โํ์ ๋ฆฌ๋ทฐ์ด ์ ์ง์ โ๊ณผ โstatus check ํ์ธโ ์ผ ๊ฒ ๊ฐ๋ค. ์ด ์ธ์๋ ๋ง์ ์ต์ ์ด ์๊ณ ๊ณ์ ์ถ๊ฐ๋๋ฏ๋ก ๊ณต์ ๋ฌธ์๋ฅผ ํ์ธํด๋ณด๊ธธ ๋ฐ๋๋ค.
- PR ๋จธ์ง ์ ๋ฆฌ๋ทฐ ํ์ธ
- ํ์ ๋ฆฌ๋ทฐ์ด ์ ์ง์
- ์ ๊ท ์ปค๋ฐ push๋ ๊ฒฝ์ฐ approve ์ํ ํด์
- Code Owner์ ๋ฆฌ๋ทฐ ํ์ธ
- PR์ ๋ซ์ ์ ์๋ ์ฌ๋ ์ ํ
- PR ๋จธ์ง ์ status check ํ์ธ
- PR ๋จธ์ง ์ ๋ํ resolved ์ํ ํ์ธ
- ํด๋น ๋ธ๋์น๋ก push ์ฌ์ฉ์ ์ ํ
- force push ์ ํ
- ๋ธ๋์น ์ญ์ ์ ํ
Custom Tabs ์ฌ์ฉํ๊ธฐ
GitHub Enterprise(GHE)์๋ โCustom tabsโ ๊ธฐ๋ฅ์ด ์๋ค. repo ๋ด๋น๊ฒ์ด์ ๋ฐ์ ํน์ URL๊ณผ ์ฐ๊ฒฐ๋ ๋ฒํผ์ ์ถ๊ฐํ๋ ๊ธฐ๋ฅ์ด๋ค. repo ์ค์ ์ด๋ฏ๋ก ํ์ ๋ชจ๋์๊ฒ ์ ์ฉ๋๋ค. ์ฐธ๊ณ ๋ก ํ๋ฒ ์ถ๊ฐํ ๋ค ์์ ๋ณ๊ฒฝ์ด ์๋๋ฏ๋ก ์์ ๋ณ๊ฒฝ์ด ํ์ํ ๊ฒฝ์ฐ ์ํ๋ ์์์ ๋ง๊ฒ ์ ๊ฑฐ ๋ฐ ์ถ๊ฐ ์์ ์ด ํ์ํ๋ค.
GHE 2.21์ @me
๊ฒ์ ์ฟผ๋ฆฌ๊ฐ ์ถ๊ฐ๋์๋๋ฐ, ์ปค์คํ
ํญ๊ณผ ํ๊ทธ๋ฅผ ํ์ฉํ๋ฉด ๋ฆฌ๋ทฐํด์ผํ PR ๋ชจ์๋ณด๋ ๋งํฌ๋ฅผ ์ถ๊ฐํ ์ ์๋ค.
review-requested:@me
: ๋๋ฅผ ๋ฆฌ๋ทฐ์ด๋ก ๋ฑ๋กํ PR์ด ๋ ธ์ถ๋๋ค. But, ๋ฆฌ๋ทฐํ PR์ ๊ฒฝ์ฐ ์ ์ธ๋๋ค.-reviewed-by:@me
: โReview changesโ๋ฅผ ํตํด โCommentโ, โRequest changesโ, โApproveโ๋ฅผ ํ์ ๊ฒฝ์ฐ ํด๋น PR์ ์ ์ธํ๋ค. ๋จ์ ์ฝ๋งจํธ์ ๊ฒฝ์ฐ ์ค์ ๋ฆฌ๋ทฐ ์ฒ๋ฆฌ๊ฐ ์๋๋ฏ๋ก ๋ ธ์ถ๋๋ค.-author:@me
: ๋ด๊ฐ ์์ฑํ PR์ ๋ํด์ ์ ์ธํ๋ค.
Custom Autolink reference ์ฌ์ฉํ๊ธฐ
๊ธฐ์กด์ ์ด์ ํธ๋ํน์ผ๋ก JIRA๋ฅผ ์ฌ์ฉํ๊ณ ์์๋ค๋ฉด PR์ ๊ด๋ จ ์ด์๋ฅผ ๋จ๊ธฐ๊ธฐ ์ํด JIRA ์ด์ ๋งํฌ๋ฅผ ์ถ๊ฐํ์ ๊ฒ์ด๋ค. ๋งค๋ฒ ์ ์ฒด ๋งํฌ๋ฅผ ์ถ๊ฐํ๋ ๋ฒ๊ฑฐ๋ก์์ ํผํ๊ธฐ ์ํด GitHub์๋ Autolink references ์ฌ์ฉํด๋ณด์. ํน์ prefix๋ก ์์๋๋ ๋ฌธ์์ผ ๊ฒฝ์ฐ ๋งํฌ๋ก ๋ณํํด์ฃผ๋ ๊ธฐ๋ฅ์ด๋ค. (GHE 2.19 ์ ์ถ๊ฐ๋จ)
๐ค ์ฌ๋ด์ ๋ณ๋ ๋ฌธ์ ์์คํ ์ด ์๋ค๋ฉด ํด๋น ์์คํ ์ prefix๋ฅผ ํ์ฉํ ์๋ ์๋ค.
๐ค Intellij IDEA์๋ ํน์ prefix๋ฅผ ๋งํฌ๋ก ๋ง๋ค์ด์ฃผ๋ Issue Navigation ๊ธฐ๋ฅ์ด ์๋ค.
๋ํดํธ ๋ธ๋์น ๋ณ๊ฒฝ
GitHub๋ด์ ๋ํดํธ ๋ธ๋์น๋ ๋ณ๊ฒฝํ ์ ์๋ค. ์ฒ์ repo๋ฅผ ์์ฑํ๋ฉด master
๋ธ๋์น๊ฐ ๊ธฐ๋ณธ์ผ๋ก ์์ฑ๋๊ณ ์ด ๋ธ๋์น๊ฐ ๋ํดํธ ๋ธ๋์น๋ก ์ค์ ๋๋ค. ํ์์ ์ฌ์ฉํ๋ ๋ํดํธ ๋ธ๋์น๋ก ๋ฐ๊ฟ๋ณด์. ์๋ฅผ ๋ค๋ฉด develop
์ด๋ main
๋ธ๋์น์ผ ์ ์๋ค.
๋ธ๋์น๋ช ๋ณ๊ฒฝ
๊ธฐ์กด์ ๋ธ๋์น๋ฅผ ๋ณ๊ฒฝํ๋ ค๋ฉด git ๋ช ๋ น์ด๋ฅผ ํตํด ๋ก์ปฌ์์ push ํ๊ฑฐ๋ GitHub์์ ์๋ก์ด ๋ธ๋์น๋ฅผ ์์ฑํ๊ณ ์ด์ ๋ธ๋์น๋ฅผ ์ง์ฐ๋ ๋ฑ ์ฐํ ๋ฐฉ์์ ์ฐพ์์ ๊ฒ์ด๋ค. 2021๋ 1์์ฏค ๊ธฐ์กด ๋ธ๋์น์ ์ด๋ฆ์ ๋ฐ๊พธ๋ ๊ธฐ๋ฅ์ด ์ถ๊ฐ๋์์ผ๋ ์ด๊ฒ์ ํ์ฉํ์ฌ ๋ฆฌ๋ค์ด๋ฐํ์. (GHE 3.1์ ์ถ๊ฐ๋จ)
๐ค Main ๋ธ๋์น? 2020๋ 10์๊ฒฝ GitHub ์ ๋ฐ์ดํธ ์ดํ ์ ๊ท repository ์์ฑ์
master
๊ฐ ์๋main
์ผ๋ก default branch๊ฐ ์์ฑ๋๋ค. IT ์ ๊ณ์์๋ master/slave, blacklist/whitelist ์ ๊ฐ์ ์ฉ์ด์ ๋ํด์ ๋ ผ๋์ด ์์ด์๋ค. ์ด๋ฐ ์ด์๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด GitHub์ ๋ํดํธ ๋ธ๋์น๋ช ์main
์ผ๋ก ๋ฐ๊พธ์๋ค.
์ด๋ฌํ ๋ณ๊ฒฝ์ GitHub ๋ฟ๋ง ์๋๋ผ IT ์ ๋ฐ์ ์ผ๋ก ์งํ๋์๋ค. Git์ 2.28.0 ๋ฒ์ ์init.defaultBranch
๋ผ๋ ์ต์ ์ ์ ๊ณตํ์๊ณ , Jenkins๋ โslaveโ๋ผ๋ ์ฉ์ด๋ฅผ โagentโ๋ก ๋ฐ๊พธ์๋ค. (์ ์ ์ดmain
๋ธ๋์น๋ฅผ ๊ฐ์ ธ์ ๋ฐ๊พธ์๊ณ ํ ์ ์์ผ๋ ๋ฐฐ๊ฒฝ ์ง์์ ์์๋์.)โฅ ref: github/renaming
โฅ ref: The default branch for newly-created repositories is now main โ The GitHub Blog
โฅ ref: Introducinginit.defaultBranch
- The GitHub Blog
โฅ ref: On Jenkins Terminology Updates โ Jenkins Blog
๋ฒ์ธ) ์ ์ฉํ ์์ฉํ๋ก๊ทธ๋จ
GitHub๊ณผ ๊ด๋ จ๋ ๊ธ์ด๋ ์์ฑํ๊น์ GitHub ๊ด๋ จํ์ฌ ์ ์ฉํ ํ๋ก๊ทธ๋จ๋ ์๊ฐํ๋ค. ๊ฐ์ธ์ ์ผ๋ก ํ๋์ ๋์ ์์ ์ด๋ผ๊ณ Git๊ณผ GitHub ๊ธฐ๋ณธ ๊ธฐ๋ฅ๋ง ์ฐ๋ คํ์ง๋ง Trailer๋ Refind GitHub์ ์ฌ์ฉํ๋ค ์์ผ๋ฉด ์์ฐ์ฑ์ด ๊ฝค๋ ๋จ์ด์ ธ์.. ๋ด๊ฒ ํ์ ์์ฉ ํ๋ก๊ทธ๋จ์ด ๋์๋ค.
Applications
Chrome Extensions
- Refined GitHub ๐๐
- Better Pull Request for GitHub ๐
- Notifier for GitHub
- GitHub Issue Link Status
Web
- https://github.githistory.xyz/
ํน์ ํ์ผ์ ํ์คํ ๋ฆฌ๋ฅผ ์๊ฐํํด์ ๋ณด์ฌ์ฃผ๋ ๊ธฐ๋ฅ - https://initialcommit.com/tools/git-story
์ปค๋ฐ ํ์คํ ๋ฆฌ๋ฅผ ์ ๋๋ฉ์ด์ ์ผ๋ก ๋ง๋ค์ด์ฃผ๋ ๊ธฐ๋ฅ
๋ง์น๋ฉฐ
๋ด๊ฐ ์ฌ์ฉํ๋, ์๊ณ ์๋, ์ถ์ฒํ๋ ๋ชจ๋ ํ๋ค์ ์ ์ด๋ดค๋ค. ๋ถ๋ช GitHub ๋ณธ์ธ๋ค๋ ์ฌ์ฉํ๋ฉด์ ์ด๋ป๊ฒ๋ ์์ฐ์ฑ์ ๋ํ๊ธฐ ์ํด ๋ง๋ ๊ธฐ๋ฅ๋ค์ผํ ๋ ํ๋ฒ ์ฌ์ฉํด๋ณด์.
์๊ฐํ ํ๋ค ์ธ์๋ ์ ์ ์ธ ํ์ด์ง๋ฅผ ์ ๊ณตํ ์ ์๋ GitHub Pages, ์ ๋ฌด ์๋ํ๋ฅผ ์ํ GitHub Actions, ๋ค์ํ ํ์ฅ ํ๋ก๊ทธ๋จ์ ๋ง๋ค๊ธฐ ์ํ GitHub APIs ๋ฑ GitHub์ ํ์ฉํ๋ ๋ฐฉ๋ฒ ๋ฐ ํ์ ๋๋ฌด๋๋ ๋ง๋ค. GitHub์ ๋ค์ํ ๊ธฐ๋ฅ๋ค์ด ๋ํด์ ๊ถ๊ธํ๋ค๋ฉด ์๋ ๋งํฌ๋ฅผ ์ฐธ๊ณ ํ๊ธธ ๋ฐ๋๋ค.