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

実務で失敗しない「GitHub」

Sponsored · Ship Features Fearlessly Turn features on and off without deploys. Used by thousands of Ruby developers.
Avatar for Tonoyama Tonoyama
January 10, 2021

 実務で失敗しない「GitHub」

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

Avatar for Tonoyama

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