Upgrade to Pro — share decks privately, control downloads, hide ads and more …

実務で失敗しない「GitHub」

Tonoyama
January 10, 2021

 実務で失敗しない「GitHub」

学内の勉強会で発表したスライド達です。

Tonoyama

January 10, 2021
Tweet

More Decks by Tonoyama

Other Decks in Programming

Transcript

  1. ϒϥϯν໊ΛදࣔͰ͖ΔΑ͏ʹ͢Δ 16 $ sudo nano ~/.bashrc 下記のShellをコピペ(Ubuntu, bashの場合) if [

    -f /etc/bash_completion ]; then . /etc/bash_completion fi if [ -f /etc/bash_completion.d/git-prompt ]; then export PS1='¥[¥033[01;32m¥]¥u@¥h¥[¥033[01;33m¥] ¥w$(__git_ps1) ¥n¥[¥033[01;34m¥]¥$¥[¥033[00m¥] ' else export PS1='¥[¥033[01;32m¥]¥u@¥h¥[¥033[01;33m¥] ¥w ¥n¥[¥033[01;34m¥]¥$¥[¥033[00m¥] ' fi $ source ~/.bashrc
  2. HJUDPOGJHϢʔβʔ৘ใΛೖྗ 17 طଘͷϦϙδτϦΛμ΢ϯϩʔυʢίϐʔʣ͢Δ $ git config --global user.name “ࣗ෼ͷGitHubϢʔβʔ໊” $

    git config --global user.email “GitHubͷϝʔϧΞυϨε” ֬ೝ $ cat ~/.gitconfig [user] name = 自分のGitHubユーザ名 email = GitHubのメールアドレス
  3. HJUTUBUVTʢΪοτ εςʔλεʣ 29 ࠓͷϑΝΠϧͷঢ়ଶΛ֬ೝ͢Δ $ git status ୹͘؆ܿʹදࣔ͢Δ $ git

    status –s ୹͘දࣔ͠ɺͲͷϒϥϯνͷ৘ใͳͷ͔΋දࣔ͢Δ $ git status -b
  4. HJUBEEʢΪοτ Ξυʣ 31 มߋϑΝΠϧΛΠϯσοΫεʹ௥Ճ͠ɺ ίϛοτର৅ʹ͢Δ $ git add [ファイル名] ϫʔΫπϦʔɿ࡞ۀ৔ॴ

    ΠϯσοΫεɿ ίϛοτΛอଘ͢Δ৔ॴɻ εςʔδϯάΤϦΞͱ΋ݴ͏ɻ มߋϑΝΠϧΛΠϯσοΫεʹ௥Ճ͢Δ͜ͱΛ εςʔδϯάͱݴ͏ ϩʔΧϧ ϦϙδτϦ ΠϯσοΫε ϫʔΫπϦʔ HJUBEE HJUDPNNJU
  5. ⚠΍Β͔͠஫ҙ HJUBEE͸࢖Θͳ͍ 33 $ git add . ͸શͯͷϑΝΠϧΛҰؾʹεςʔδϯάͰ ͖Δ͕༨ܭͳϑΝΠϧΛؚΉ৔߹͕͋Δͨ Ίɺجຊ͠ͳ͍ɻ

    ΋͠΍ΔͳΒ.gitignoreͰ༨ܭͳϑΝΠ ϧ͕ೖΒͳ͍Α͏ʹ͢ΔͳͲ഑ྀ͕ඞཁɻ ༨ܭͳϑΝΠϧ͕ ೖΓࠐΈ࡞ۀΛ अຐ͢Δਤ :PV
  6. HJUDPNNJUʢΪοτ ίϛοτʣ 35 ΠϯσοΫεͷϑΝΠϧΛ ϩʔΧϧϦϙδτϦʹอ؅͢Δ $ git commit -m “メッセージ”

    ௚લͷίϛοτϝοηʔδΛमਖ਼͍ͨ͠৔߹ $ git commit --amend -m “新しいメッセージ” աڈͷίϛοτϝοηʔδΛݟ͍ͨ $ git log ͜ͷͱ͖ɺίϛοτϝοηʔδ͸ ଞਓ͕͋ͱ͔Βݟͯ෼͔ΔΑ͏ʹॻ͘ ϩʔΧϧ ϦϙδτϦ ΠϯσοΫε ϫʔΫπϦʔ
  7. Θ͔Γ΍͍͢DPNNJUϝοηʔδΛ 38 Մಡੑ ࿦ཧੑ ݪࢠੑ ద੾ʹখ͍͞ DPNNJU มߋ಺༰͕ ҙຯతʹ ·ͱ·ͬͯ

    ͍Δ͔ DPNNJU NFTTBHFͷ ಡΈ΍͢͞ ݪࢠੑ DPNNJU͸ɺݴͰݴ͍දͤΔมߋ಺༰Ͱ ͋Δ͜ͱ Մಡੑ ଞਓ͕ޙ͔Βݟͯ֓ཁ͕Θ͔Δ ࿦ཧੑ ෳ਺ͷมߋ͕͋Δ৔߹ɺ ಉ͡ࣄΛ͍ͯ͠Δʢҙຯతʹ·ͱ·ͬͨʣ ΋ͷΛDPNNJU͢Δ
  8. ༨ܭͳϑΝΠϧΛDPNNJUͨ͠··QVTI ˒˒ˑ 39 มߋՕॴ͕গͳ͍৔߹ʢίϛοτΛશͯऔΓফͤΔʣ $ git reset -–hard HEAD^ $

    git push origin [作業ブランチ名] ࢒͍ͨ͠ίϛοτཤྺ͕ଟ͍৔߹ มߋΛҙਤ͠ͳ͍ϑΝΠϧͷ಺༰ΛNBTUFSΛಉ͡ʹ͢Δ $ git switch master $ git pull origin master $ git checkout [作業ブランチ名] $ git checkout master [意図しないファイル名]
  9. ༨ܭͳϑΝΠϧΛDPNNJUͨ͠··QVTI ˒˒ˑ 40 ͦΕͰ΋͏·͍͔͘ͳ͍৔߹ ৽͘͠࡞ۀϒϥϯνΛ࡞੒͠ɺݩͷ࡞ۀϒϥϯν͔ΒඞཁͳϑΝΠ ϧ͚ͩΛ࣋ͬͯ͘Δ $ git checkout master

    $ git pull origin master $ git branch [新しいブランチ名] $ git checkout [新しいブランチ名] $ git checkout [元のブランチ名] [特定ファイル名] ৽͍͠ϒϥϯνͰ։ൃ͢Δ͜ͱʹͳΔ
  10. HJUQVMM 47 NBTUFSϒϥϯν΁ $ git switch master ϦϞʔτϦϙδτϦͱಉظ $ git

    pull origin master ϒϥϯνΛ࡞੒͠ɺ࠶ͼ։ൃ΁ QVMMͱ GFUDI΋ࣅͯΔ
  11. ΤΠϦΞε 52 $ sudo nano ~/.gitconfig [alias] 省略名=gitコマンド $ sudo

    nano ~/.bashrc $ alias [エイリアス名]=‘コマンド’ $ source ~/.bashrc