nforge-migration

Migrate nForge project to GitHub


Keywords
nForge, migration, github, naver, open_project
License
Apache-2.0
Install
pip install nforge-migration==1.0.2a0

Documentation

๋„ค์ด๋ฒ„ ๊ฐœ๋ฐœ์ž์„ผํ„ฐ ์˜คํ”ˆ ํ”„๋กœ์ ํŠธ ๋ฐฑ์—… ๋ฐ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜์„ ์œ„ํ•œ Python ๋ชจ๋“ˆ

๋ณธ ๋ชจ๋“ˆ์€ ๋„ค์ด๋ฒ„ ๊ฐœ๋ฐœ์ž์„ผํ„ฐ์˜ ์˜คํ”ˆ ํ”„๋กœ์ ํŠธ ์˜ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜์„ ์œ„ํ•ด 2๊ฐ€์ง€ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. 1. ๋„ค์ด๋ฒ„ ์˜คํ”ˆํ”„๋กœ์ ํŠธ ๋ฐฑ์—…: ๋กœ์ปฌPC์— ๊ฐœ์ธ์˜ ์˜คํ”ˆ ํ”„๋กœ์ ํŠธ ๋ฐ์ดํ„ฐ (์ด์Šˆ/๊ฒŒ์‹œํŒ/์ฒจ๋ถ€ ํŒŒ์ผ ํฌํ•จ)๋ฅผ ๋ฐฑ์—… 2. Github๋กœ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜: ๋กœ์ปฌPC์— ๋ฐฑ์—…ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ GitHub์˜ ํ”„๋กœ์ ํŠธ๋กœ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜

์„ค์น˜/์‹คํ–‰ ํ™˜๊ฒฝ

๋ณธ ๋ชจ๋“ˆ์€ CLI(Comamnd Line Interface) ํ˜•ํƒœ์˜ ๋ชจ๋“ˆ๋กœ์„œ Windows, Mac, Linux OS๋ฅผ ๋ชจ๋‘ ์ง€์›ํ•˜๋ฉฐ, ์•„๋ž˜ ๋ฒ„์ „ ์ด์ƒ์˜ ํ”„๋กœ๊ทธ๋žจ์ด ์„ค์น˜๋˜์–ด ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

  1. Python 2.7 ์ด์ƒ ( ์ปค๋งจ๋“œ ๋ผ์ธ์—์„œ Python ๋ฒ„์ „ํ™•์ธ ๋ฐฉ๋ฒ•: $ python --version)

  2. Git 1.7.10 ์ด์ƒ ( ์ปค๋งจ๋“œ ๋ผ์ธ์—์„œ Git ๋ฒ„์ „ํ™•์ธ ๋ฐฉ๋ฒ•: $ git --version)

  3. pip 7 ์ด์ƒ ( ์ปค๋งจ๋“œ ๋ผ์ธ์—์„œ pip ๋ฒ„์ „ํ™•์ธ ๋ฐฉ๋ฒ•: $ pip --version)

์œ„ 3๊ฐ€์ง€ ํ”„๋กœ๊ทธ๋žจ์ด ์—†์„ ๊ฒฝ์šฐ๋Š” ์•„๋ž˜์˜ ๊ฐ€์ด๋“œ๋ฅผ ๋”ฐ๋ผ ์„ค์น˜ํ•ด์ฃผ์‹œ๊ธธ ๋ฐ”๋ž๋‹ˆ๋‹ค.

Python ์„ค์น˜

  • Windows์—์„œ Python ์„ค์น˜๋ฒ•
  • Mac, Linux: ๊ธฐ๋ณธ์ ์œผ๋กœ Python์ด ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค.

    python --version (๋ฒ„์ „ ํ™•์ธ ๋ฐฉ๋ฒ•)

    ์œ„ ๋ช…๋ น์–ด ์‹คํ–‰ ์‹œ 2.7๋ฒ„์ „ ์ด์ƒ์ด ์•„๋‹ˆ์‹  ๋ถ„์€ ์ด ์ž๋ฃŒ๋ฅผ ์ฐธ๊ณ ํ•˜์…”์„œ ์—…๊ทธ๋ ˆ์ด๋“œ ํ•˜๊ธธ ๋ฐ”๋ž๋‹ˆ๋‹ค.

Git ์„ค์น˜

์ด ๋ฒ„์ „ ๋ฏธ๋งŒ์ผ ๊ฒฝ์šฐ GitHub์— push๊ฐ€ ๋ถˆ๊ฐ€๋Šฅํ•ด์„œ ์ฒจ๋ถ€ํŒŒ์ผ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜์ด ๋ถˆ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

  • Windows ์—์„œ๋Š” Git ๊ณต์‹ ํ™ˆํŽ˜์ด์—์„œ ์ ์ ˆํ•œ Git ์„ค์น˜ ํŒŒ์ผ์„ ๋‹ค์šด๋กœ๋“œ ๋ฐ›์•„ ์„ค์น˜ํ•˜์‹œ๋ฉด ์ž˜ ๋™์ž‘ํ•ฉ๋‹ˆ๋‹ค.
  • ๋Œ€๋ถ€๋ถ„ ์œ ๋‹‰์Šค ๊ณ„์—ด์—์„œ Git 1.7.10 ์ด์ƒ์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.

    $ sudo apt-get install git # ๋ฐ๋น„์•ˆ ๊ณ„์—ด
    $ sudo yum install git # ํŽ˜๋„๋ผ ๊ณ„์—ด
    $ brew install git # OSX
  • ๊ฐ„ํ˜น CentOS 6๋ฅผ ์ด์šฉํ•˜์‹œ๋Š” ๋ถ„์€ ๊ธฐ๋ณธ yum ์ €์žฅ์†Œ์— ์žˆ๋Š” Git ๋ฒ„์ „์ด ๋‚ฎ์•„ GitHub์— Push๊ฐ€ ์•ˆ ๋˜๋Š” ์˜ค๋ฅ˜๊ฐ€ ์ผ์–ด๋‚  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ์ž๋ฃŒ๋ฅผ ์ฐธ๊ณ ํ•˜์…”์„œ Git ๋ฒ„์ „์„ ์—…๊ทธ๋ ˆ์ด๋“œ ํ•ด์ฃผ์„ธ์š”.

pip ์„ค์น˜

Windows

์œ„์˜ ์„ค์น˜๋ฒ•์„ ๋”ฐ๋ผํ•˜์…จ๋‹ค๋ฉด pip๊ฐ€ ์ž๋™์œผ๋กœ ์„ค์น˜๋˜์žˆ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ pip --version ์„ ์‹คํ–‰ํ•˜์…จ์„ ๋•Œ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•˜์‹ ๋‹ค๋ฉด ์•„๋ž˜ ๊ณผ์ •์„ ๋”ฐ๋ผํ•ด์ฃผ์„ธ์š”.

  1. https://bootstrap.pypa.io/get-pip.py ํŒŒ์ผ์„ ๋‹ค์šด๋กœ๋“œํ•˜์„ธ์š”.
  2. $ python get-pip.py
  3. pip ์„ค์น˜ ๋ฒ„์ „ ํ™•์ธ: $ pip --version

Linux/Mac OS

  1. pip ์„ค์น˜ ์Šคํฌ๋ฆฝํŠธ ๋‹ค์šด๋กœ๋“œ: $ curl https://bootstrap.pypa.io/get-pip.py > get-pip.py
  2. pip ์„ค์น˜: $ sudo python get-pip.py
  3. pip ์„ค์น˜ ๋ฒ„์ „ ํ™•์ธ: $ pip --version

๋ชจ๋“ˆ ์„ค์น˜ ๋ฐฉ๋ฒ•

python, git, pip๊ฐ€ ์„ค์น˜๋˜์—ˆ์œผ๋ฉด ๋‹ค์Œ์˜ ๋ช…๋ น์–ด๋ฅผ ์ž…๋ ฅํ•˜์—ฌ ๋ชจ๋“ˆ์„ ์„ค์น˜ํ•ฉ๋‹ˆ๋‹ค.

Linux, Mac ์‚ฌ์šฉ์ž

์•„๋ž˜์˜ ๋ช…๋ น์–ด๋งŒ ์ž…๋ ฅํ•˜๋ฉด ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ ๋ชจ๋“ˆ์ด ์„ค์น˜๋ฉ๋‹ˆ๋‹ค. $ pip install nforge_migration

Windows ์‚ฌ์šฉ์ž

  1. Lxml (XML ํŒŒ์„œ) ์„ค์น˜ํŒŒ์ผ ๋‹ค์šด๋กœ๋“œ

    • ์ž์‹ ์˜ ํŒŒ์ด์ฌ ๋ฒ„์ „๊ณผ ์šด์˜์ฒด์ œ์— ๋งž๋Š” ์„ค์น˜ํŒŒ์ผ์„ ๋‹ค์šด๋กœ๋“œํ•ด์ฃผ์„ธ์š”.
    • Python 2.7 32 bit 64 bit
    • Python 3.4 32 bit 64 bit
    • Python 3.5 32 bit 64 bit
  2. Lxml (XML ํŒŒ์„œ) ์„ค์น˜ $ pip install (๋‹ค์šด๋กœ๋“œํ•œ ํŒŒ์ผ๋ช…)

  3. ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ ๋ชจ๋“ˆ ์„ค์น˜ $ pip install nforge_migration

๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ ๋ชจ๋“ˆ ์†Œ์Šค๋ฅผ ์ด์šฉํ•œ ์ง์ ‘ ์„ค์น˜

  • pip install nforge_migration ๋ช…๋ น์–ด๋ฅผ ์ด์šฉํ•˜์ง€ ์•Š๊ณ , ๋ณธ ํ”„๋กœ์ ํŠธ์˜ ์†Œ์Šค๋ฅผ ์ด์šฉํ•ด์„œ ์ง์ ‘ ์„ค์น˜ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

    $ git clone https://github.com/naver/devcenter-openproject-migration.git
    $ cd devcenter-openproject-migration
    $ sudo pip install -e .
    

์„ค์น˜ ์™„๋ฃŒ ํ™•์ธ

  • npa --help ๋ช…๋ น์–ด๋ฅผ ์ž…๋ ฅํ•˜์…จ์„ ๋•Œ ์•„๋ž˜์™€ ๊ฐ™์€ ํ™”๋ฉด์ด ๋ณด์ด๋ฉด ์„ค์น˜๊ฐ€ ์™„๋ฃŒ๋œ ๊ฒƒ ์ž…๋‹ˆ๋‹ค.

    Usage: npa [OPTIONS]
    
    Command line interface for parsing Nforge project.
    
    Options:
      --name TEXT  ์˜คํ”ˆ ํ”„๋กœ์ ํŠธ ์ด๋ฆ„
      --private            ์˜คํ”ˆ ํ”„๋กœ์ ํŠธ ๋น„๊ณต๊ฐœ ์ €์žฅ์†Œ ์—ฌ๋ถ€
      --dev_code           DevCode ํ”„๋กœ์ ํŠธ์ธ์ง€
      --help               Show this message and exit.
  • ์„ค์น˜ ์™„๋ฃŒ ํ›„ ์ž‘์—…์„ ์œ„ํ•œ ํด๋”๋ฅผ ๋งŒ๋“ค์–ด์ฃผ์„ธ์š”.

๋ชจ๋“ˆ ์‚ฌ์šฉ ๋ฐฉ๋ฒ•

๋ณธ ๋ชจ๋“ˆ์€ ์•„๋ž˜ 2๊ฐ€์ง€ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

  1. ๋„ค์ด๋ฒ„ ์˜คํ”ˆํ”„๋กœ์ ํŠธ ๋ฐฑ์—…

    ๋กœ์ปฌPC์— ๊ฐœ์ธ์˜ ์˜คํ”ˆ ํ”„๋กœ์ ํŠธ ๋ฐ์ดํ„ฐ (์ด์Šˆ/๊ฒŒ์‹œํŒ/์ฒจ๋ถ€ ํŒŒ์ผ ํฌํ•จ)๋ฅผ ๋ฐฑ์—…

  2. Github๋กœ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜

    ๋กœ์ปฌPC์— ๋ฐฑ์—…ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ GitHub์˜ ํ”„๋กœ์ ํŠธ๋กœ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜

  • ์ฃผ์˜ ์‚ฌํ•ญ !!
    • ๋„ค์ด๋ฒ„ ์˜คํ”ˆํ”„๋กœ์ ํŠธ๊ฐ€ ๋น„๊ณต๊ฐœ ์ƒํƒœ์ด๋ฉด ๊ณต๊ฐœ๋กœ ์ „ํ™˜ ํ›„ ์ง„ํ–‰ํ•˜์‹œ๊ฑฐ๋‚˜, ํ”„๋กœ์ ํŠธ ๊ด€๋ จ ์ธ์ฆํ‚ค๊ฐ’ ๋ฐ์ดํ„ฐ๋ฅผ ์ถ”์ถœํ•ด ์ €์žฅํ•˜์‹  ๋‹ค์Œ ์ง„ํ–‰ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
    • ๋น„๊ณต๊ฐœ ํ”„๋กœ์ ํŠธ ๊ด€๋ จ ์ธ์ฆ ํ‚ค๊ฐ’ ์ถ”์ถœ ๋ฐฉ๋ฒ•
      1. ์˜คํ”ˆ ํ”„๋กœ์ ํŠธ์— ๋กœ๊ทธ์ธ ํ•ด์ฃผ์„ธ์š”.
      2. ์›น๋ธŒ๋ผ์šฐ์ € ์ฃผ์†Œ์ฐฝ์— ์ง์ ‘ javascript:document.cookie ๋ผ๊ณ  ์ž…๋ ฅํ•˜์„ธ์š”. ( Ctrl C / V ํ•˜์‹œ๋ฉด ์•ˆ๋ฉ๋‹ˆ๋‹ค.)
      3. ์›น๋ธŒ๋ผ์šฐ์ €์— ๋ณด์ด๋Š” ๊ฐ’๋“ค ์ค‘ NID_SES์™€ NID_AUT ๊ฐ’์„ ๋ณต์‚ฌํ•ด์ฃผ์„ธ์š”.
      4. ์ž‘์—… ํด๋”์— cookies.txt ๋ผ๋Š” ํŒŒ์ผ์„ ๋งŒ๋“ค์–ด์ฃผ์„ธ์š”.
      5. ์•„๋ž˜์™€ ๊ฐ™์€ ํ˜•์‹์œผ๋กœ cookies.txt ํŒŒ์ผ์„ ์ฑ„์›Œ์ฃผ์‹œ๊ณ  ์ €์žฅํ•˜์„ธ์š”. (์ฟ ํ‚ค ๊ฐ’์˜ ๋งจ๋งˆ์ง€๋ง‰ ์„ธ๋ฏธ์ฝœ๋ก ์€ ์ง€์šธ ๊ฒƒ)
      NID_SES=ํ‚ค๊ฐ’
      NID_AUT=ํ‚ค๊ฐ’
      

๋„ค์ด๋ฒ„ ์˜คํ”ˆํ”„๋กœ์ ํŠธ ๋ฐฑ์—…

  • npa ๋ช…๋ น์–ด๋ฅผ ์•„๋ž˜์˜ ์•ˆ๋‚ด์™€ ๊ฐ™์ด ํ„ฐ๋ฏธ๋„์— ์ž…๋ ฅํ•ด์ฃผ์„ธ์š”.

    • ๊ณต๊ฐœ ํ”„๋กœ์ ํŠธ: npa --name ํ”„๋กœ์ ํŠธ์ด๋ฆ„
    • ๋น„๊ณต๊ฐœ ํ”„๋กœ์ ํŠธ: npa --name ํ”„๋กœ์ ํŠธ์ด๋ฆ„ --private
  • ์ž๋™์œผ๋กœ ํ”„๋กœ์ ํŠธ๋“ค์ด ๋‹ค์šด๋กœ๋“œ๋˜๊ณ  ์•„๋ฌด ๋ฉ”์‹œ์ง€ ์—†์ด ๋๋‚ฌ๋‹ค๋ฉด ์„ฑ๊ณตํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

Now making 7267.xml and 7267.json of download: 100%|โ–ˆโ–ˆโ–ˆ| 2/2 [00:01<00:00,  1.04s/it]
Now making 98439.xml and 98439.json of issue: 100%|โ–ˆโ–ˆโ–ˆ| 21/21 [00:09<00:00,  2.78it/s]
Now making 98483.xml and 98483.json of forum: 100%|โ–ˆโ–ˆโ–ˆ| 11/11 [00:02<00:00,  3.17it/s]
  • ์ž‘์—… ํด๋”/Nforge/open_project/ํ”„๋กœ์ ํŠธ ์ด๋ฆ„ ์— ํ”„๋กœ์ ํŠธ๋“ค์ด ๋‹ค์šด๋กœ๋“œ ๋ฉ๋‹ˆ๋‹ค. ํด๋”๋Š” ์•„๋ž˜์™€ ๊ฐ™์€ ๊ตฌ์กฐ๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

    Nforge
    โ””โ”€โ”€ open_project
        โ””โ”€โ”€ ํ”„๋กœ์ ํŠธ ์ด๋ฆ„
            โ”œโ”€โ”€ code_info.json # ์†Œ์Šค ์ฝ”๋“œ ์ €์žฅ์†Œ ์ •๋ณด๊ฐ€ ๋‹ด๊ธด ํŒŒ์ผ
            โ”œโ”€โ”€ developers.txt # ๊ฐœ๋ฐœ์ž๋“ค์˜ ๋„ค์ด๋ฒ„ ์•„์ด๋””
            โ”œโ”€โ”€ downloads # ๋‹ค์šด๋กœ๋“œ ์ €์žฅ ํด๋”
            โ”‚ย ย  โ”œโ”€โ”€ json
            โ”‚ย ย  โ”œโ”€โ”€ raw # ์ฒจ๋ถ€ํŒŒ์ผ
            โ”‚ย ย  โ””โ”€โ”€ xml
            โ”œโ”€โ”€ issues # ์ด์Šˆ/๊ฒŒ์‹œํŒ ์ €์žฅ ํด๋”
            โ”‚ย ย  โ”œโ”€โ”€ json
            โ”‚ย ย  โ”œโ”€โ”€ raw # ์ฒจ๋ถ€ํŒŒ์ผ
            โ”‚ย ย  โ””โ”€โ”€ xml
            โ”‚ย ย      โ”œโ”€โ”€ forum # ๊ฒŒ์‹œํŒ XML
            โ”‚ย ย      โ””โ”€โ”€ issue # ์ด์Šˆ XML
            โ””โ”€โ”€ milestones # ๋งˆ์ผ์Šคํ†ค XML
    

GitHub ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜

Github๋กœ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜์„ ์œ„ํ•œ ์กฐ๊ฑด

  • GitHub ์ €์žฅ์†Œ ์ƒ์„ฑ
  • ํ•ด๋‹น ์ €์žฅ์†Œ์— ์œ„ํ‚ค ์ƒ์„ฑ
  • ํ•ด๋‹น ์ €์žฅ์†Œ์— ๋Œ€ํ•œ ์ ‘๊ทผํ† ํฐ๊ฐ’(Personal Access Token)

์กฐ๊ฑด์„ ์ถฉ์กฑํ•œ ํ›„ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ ๋ช…๋ น์–ด ์ˆ˜ํ–‰์„ ์œ„ํ•ด ์•„๋ž˜ ์•ˆ๋‚ด๋ฅผ ์ฐจ๋ก€๋Œ€๋กœ ๋”ฐ๋ผํ•ด์ฃผ์„ธ์š”.

๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ ์ค€๋น„

  1. GitHub ๊ณ„์ •์ด ์—†๋Š” ๋ถ„์€ ํšŒ์›๊ฐ€์ž…์„ ํ•ด์ฃผ์„ธ์š”. ์ฐธ๊ณ 
  2. GitHub ์ €์žฅ์†Œ import ๋งํฌ๋กœ ์ด๋™
  3. Your old repositoryโ€™s clone URL ์—๋Š” ์˜คํ”ˆ ํ”„๋กœ์ ํŠธ->์ฝ”๋“œ ํƒญ์—์„œ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋Š” git clone URL ํ˜น์€ svn์˜ URL์„ ์ž…๋ ฅํ•˜์„ธ์š”.
  4. Your new repository details ์•„๋ž˜์— Name์— ์ƒ์„ฑ๋  ์ €์žฅ์†Œ ์ด๋ฆ„์„ ์ž…๋ ฅํ•˜์„ธ์š”.
  5. Public/Private ์—ฌ๋ถ€๋ฅผ ์ฒดํฌํ•˜๊ณ  Begin import ๋ฒ„ํŠผ์„ ๋ˆŒ๋Ÿฌ ์‹œ์ž‘ํ•˜์„ธ์š”.
  6. Import๋ฅผ ์‹œ์ž‘ํ•˜๊ฒŒ ๋˜๋ฉด ๋ช‡ ์ดˆํ›„ ์•„์ด๋””์™€ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์ž…๋ ฅํ•˜๋Š” ํผ์ด ๋ณด์ž…๋‹ˆ๋‹ค.
    • ๊ณต๊ฐœ ํ”„๋กœ์ ํŠธ์˜ ๊ฒฝ์šฐ: ์•„์ด๋””/๋น„๋ฐ€๋ฒˆํ˜ธ ๋ชจ๋‘ anonsvn ์ž…๋ ฅ
    • ๋น„๊ณต๊ฐœ ํ”„๋กœ์ ํŠธ์˜ ๊ฒฝ์šฐ: ๋„ค์ด๋ฒ„ ์•„์ด๋””์™€ ๋น„๋ฐ€๋ฒˆํ˜ธ
  7. ์†Œ์Šค ์ฝ”๋“œ ์ €์žฅ์†Œ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜์ด ๋๋‚˜๋ฉด GitHub์— ๋“ฑ๋กํ•˜์‹  ๋ฉ”์ผ๋กœ ์™„๋ฃŒ ์•ˆ๋‚ด๊ฐ€ ๊ฐ‘๋‹ˆ๋‹ค.
  8. ๋ฉ”์ผ์„ ๋ฐ›์œผ์‹  ํ›„ ์•„๋ž˜ ์•ˆ๋‚ด๋ฅผ ์ฐธ๊ณ ํ•˜์…”์„œ ์œ„ํ‚ค์™€ ์ ‘๊ทผํ† ํฐ๊ฐ’์„ ๋งŒ๋“ค์–ด์ฃผ์„ธ์š”.

์ €์žฅ์†Œ Wiki ์ƒ์„ฑ

  1. https://github.com/์‚ฌ์šฉ์ž์•„์ด๋””/ํ”„๋กœ์ ํŠธ๋ช…/wiki ๋กœ ์ ‘์†ํ•ด์„œ Create the first page ๋ฒ„ํŠผ ํด๋ฆญ
  2. ํŽ˜์ด์ง€ ์šฐ์ธก ํ•˜๋‹จ์— Save Page ๋ฒ„ํŠผ ํด๋ฆญ

Personal Access Token ์ƒ์„ฑ

  1. https://github.com/settings/tokens ์œผ๋กœ ์ด๋™
  2. ์šฐ์ธก ๋ฉ”๋‰ด ์ƒ๋‹จ์— Generate new token ๋ฒ„ํŠผ ํด๋ฆญ
  3. ์•„๋ž˜ ํ•ญ๋ชฉ๋“ค์„ ์ž…๋ ฅ
    • Token Description (ํ† ํฐ ์„ค๋ช…, ์˜ˆ: openproject)
    • ์ฒดํฌ๋ฐ•์Šค๋“ค ์ค‘์— repo ํ•ญ๋ชฉ์— ์ฒดํฌ
  4. ํ•˜๋‹จ์— Generate token ๋ฒ„ํŠผ ํด๋ฆญ ํ›„ ๋‚˜์˜ค๋Š” ์ฝ”๋“œ๊ฐ’์„ ๋ณต์‚ฌ
  5. ์ž‘์—… ํด๋”์— token.txt ๋ผ๋Š” ํŒŒ์ผ์„ ๋งŒ๋“ค๊ณ  ๋ณต์‚ฌํ•œ ํ† ํฐ์„ ๋„ฃ์–ด์ค€ ํ›„ ์ €์žฅํ•œ๋‹ค.

๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ ๋ช…๋ น์–ด ์ˆ˜ํ–‰

  • ghm --name GitHub์ €์žฅ์†Œ์ด๋ฆ„ --project_name ์˜คํ”ˆํ”„๋กœ์ ํŠธ์ด๋ฆ„
  • ์˜คํ”ˆํ”„๋กœ์ ํŠธ์ด๋ฆ„ ์€ ์œ„์—์„œ ๋‹ค์šด๋กœ๋“œํ•œ ์˜คํ”ˆ ํ”„๋กœ์ ํŠธ ์ด๋ฆ„๊ณผ ์ผ์น˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
  • GitHub์ €์žฅ์†Œ์ด๋ฆ„ ์€ ์œ„์—์„œ ๋งŒ๋“œ์‹  ์ €์žฅ์†Œ ์ด๋ฆ„๊ณผ ์ผ์น˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. a8b9g3q9c... is valid token # ํ† ํฐ ๊ฒ€์ฆ 53%|โ–ˆ| 17/32 [00:17<00:16, 1.11s/it] # ์ด์Šˆ ์—…๋กœ๋“œ ... # Git ๋ฉ”์‹œ์ง€ (์ด์Šˆ ์ฒจ๋ถ€ํŒŒ์ผ ์—…๋กœ๋“œ ๊ณผ์ •) 100%|โ–ˆโ–ˆโ–ˆ| 2/2 [00:08<00:00, 5.34s # ๋‹ค์šด๋กœ๋“œ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜
  • ์œ„ ๊ณผ์ •์„ ๊ฑฐ์นœ ํ›„ ์•„๋ฌด ์—๋Ÿฌ๋ฉ”์‹œ์ง€ ์—†์ด ๋๋‚ฌ๋‹ค๋ฉด ์„ฑ๊ณตํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์ฃผ์˜์‚ฌํ•ญ

  • ๋น ๋ฅธ ์‹œ๊ฐ„ ๋‚ด์— ๋งŽ์€ GitHub ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜์„ ์ˆ˜ํ–‰ํ•˜๋ฉด Abuse Rate Limits๊ฐ€ ๋ฐœ์ƒํ•ด ์ผ์‹œ์ ์œผ๋กœ GitHub API๋ฅผ ํ˜ธ์ถœํ•  ์ˆ˜ ์—†๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ๋ช‡ ๋ถ„ ํ›„์— ๋‹ค์‹œ ์‹œ๋„ํ•ด์ฃผ์„ธ์š”.
  • github์— ์œ„ํ‚ค๋ฅผ ๋งŒ๋“ค์ง€ ์•Š์•˜์„ ๊ฒฝ์šฐ ์ฒจ๋ถ€ํŒŒ์ผ์ด ๋ˆ„๋ฝ๋  ์ˆ˜๋„ ์žˆ์œผ๋‹ˆ ๋ฐ˜๋“œ์‹œ ์œ„ํ‚ค๋ฅผ ๋จผ์ € ๋งŒ๋“œ์‹œ๊ธธ ๋ฐ”๋ž๋‹ˆ๋‹ค.
  • ํ”„๋กœ์ ํŠธ ํ™ˆ์— ์žˆ๋Š” ๋ฌธ์„œ ๋ฐ ์ž‘์„ฑํ•˜์‹  ์œ„ํ‚ค๋Š” ๋งˆํฌ๋‹ค์šด(.md) ํŒŒ์ผ๋กœ ๋ณ€ํ™˜๋˜์–ด GitHub Wiki์— ์ €์žฅ๋ฉ๋‹ˆ๋‹ค. ์›๋ณธํŒŒ์ผ์—์„œ ํ™•์žฅ์ž๋งŒ ๋ฐ”๊พผ ๊ฒƒ์ด๋ฏ€๋กœ ๊ธฐ๋ณธ์ ์œผ๋กœ ๋งˆํฌ๋‹ค์šด์„ ์‚ฌ์šฉํ•˜๋Š” GitHub ์œ„ํ‚ค์—์„œ ๊ธ€์„ ํ™•์ธํ•  ๋•Œ ๋ Œ๋”๋ง์ด ์ž˜๋ชป ๋˜์–ด ๋ณด์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ํ”„๋กœ์ ํŠธ ์ •๋ณด ๋ฐ ๋กœ๊ณ  ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜์€ ์ง€์›ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
  • ๊ฐœ๋ฐœ์ž ๋ช…๋‹จ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜์€ ์ง€์›ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ ๊ฒฐ๊ณผ ํ™•์ธ ๋ฐฉ๋ฒ•

๊ฒŒ์‹œํŒ/์ด์Šˆ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ ํ™•์ธ

  • ๋ชจ๋‘ GitHub Issue๋กœ ์˜ฎ๊ฒจ์ง‘๋‹ˆ๋‹ค. ๋ผ๋ฒจ์„ ํ†ตํ•ด ์ด์Šˆ/๊ฒŒ์‹œํŒ ๋ถ„๋ฅ˜๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ•ด๊ฒฐ/๋‹ซํž˜์ธ ์ด์Šˆ๋“ค์€ closed ์ด์Šˆ, ํ•ด๊ฒฐ์ค‘์ธ ์ด์Šˆ๋“ค์€ open ์ด์Šˆ๋กœ ๋ถ„๋ฅ˜๋ฉ๋‹ˆ๋‹ค.
  • ์•„๋ž˜์™€ ๊ฐ™์€ ํ˜•์‹(๋งˆํฌ๋‹ค์šด)์œผ๋กœ ์ด์Šˆ/๊ฒŒ์‹œํŒ/๋Œ“๊ธ€ ์ด ์˜ฎ๊ฒจ์ง‘๋‹ˆ๋‹ค.

    This {issue OR comment} created by **{์ž‘์„ฑ์ž}** and assigned to **{๋‹ด๋‹น์ž}** | {์ž‘์„ฑ์‹œ๊ฐ„}
    
    ------
    {์ด์Šˆ ๋ณธ๋ฌธ}
    -----
    ### Attachments
    * {์ฒจ๋ถ€ํŒŒ์ผ๋ช…}
    
      ![{์ฒจ๋ถ€ํŒŒ์ผ๋ช…}]({์ฒจ๋ถ€ํŒŒ์ผ๋งํฌ})
      ...
  • ์ด์Šˆ/๊ฒŒ์‹œํŒ์˜ ์ฒจ๋ถ€ํŒŒ์ผ์€ GitHub ์œ„ํ‚ค ์ €์žฅ์†Œ์— ์ €์žฅ๋ฉ๋‹ˆ๋‹ค.

๋งˆ์ผ์Šคํ†ค

  • ๋งˆ์ผ์Šคํ†ค ๋ช…๋‹จ์€ GitHub ์ด์Šˆ์˜ ๋งˆ์ผ์Šคํ†ค์œผ๋กœ ์˜ฎ๊ฒจ์ง‘๋‹ˆ๋‹ค.
  • ๋งˆ์ผ์Šคํ†ค์ด ์–ด๋Š ์ด์Šˆ์— ๋งํฌ๋˜์—ˆ๋Š”์ง€ ์—ฌ๋ถ€๋Š” ์ง€์›ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์ฝ”๋“œ

  • ํ”„๋กœ์ ํŠธ์˜ git/SVN ์ €์žฅ์†Œ๊ฐ€ GitHub๋กœ ์˜ฎ๊ฒจ์ง‘๋‹ˆ๋‹ค.
  • GitHub๋Š” SVN ๋ฐฉ์‹์˜ ๋””๋ ‰ํ† ๋ฆฌ ๊ตฌ์กฐ๋ฅผ ๋”ฐ๋ฅด์ง€ ์•Š์œผ๋ฏ€๋กœ GitHub์—์„œ ์ €์žฅ์†Œ ๊ตฌ์กฐ๊ฐ€ ์กฐ๊ธˆ ๋‹ฌ๋ผ๋ณด์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • GitHub์—์„œ SVN ํด๋ผ์ด์–ธํŠธ ์ด์šฉํ•˜๊ธฐ

๋‹ค์šด๋กœ๋“œ

  • ๋ฐ˜๋“œ์‹œ ์†Œ์Šค ์ฝ”๋“œ ์ €์žฅ์†Œ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ ํ›„ ์ˆ˜ํ–‰ํ•˜์…”์•ผ ํ•ฉ๋‹ˆ๋‹ค.
  • GitHub์˜ Releases๋กœ ์˜ฎ๊ฒจ์ง‘๋‹ˆ๋‹ค.
  • ๋ฒ„์ „ ๋ผ๋ฒจ์ด ์›๋ž˜ ํ”„๋กœ์ ํŠธ์™€ ์กฐ๊ธˆ ๋‹ค๋ฅผ ์ˆ˜ ์žˆ์ง€๋งŒ ์ˆœ์„œ๋Š” ์ผ์น˜ํ•ฉ๋‹ˆ๋‹ค.