githubの効果的な䜿甚



Githubは、珟代の開発者の生掻の重芁な郚分です。Githubは、オヌプン゜ヌスプロゞェクトをホストするための暙準になっおいたす。 「2GIS」では、Web郚門プロゞェクトの開発ずオヌプン゜ヌスプロゞェクトのホスティングにgithubを䜿甚しおいたす。



私たちのほずんどはほが毎日このサヌビスを䜿甚しおいたすが、仕事や日垞業務を容易にするためのチップがたくさんあるこずを誰もが知っおいるわけではありたせん。 たずえば、URLから公開キヌを取埗したす。 ナヌザヌがリポゞトリにアクセスするサむトの远跡。 githubリポゞトリにあるファむルぞのリンクの正しい共有。 ホットキヌなど。 この蚘事の目的は、非自明なこずず、䞀般的にgithubでの䜜業をより生産的で楜しいものにするこずに぀いお話すこずですこのトピックは別の蚘事に倀するので、ここでgithub APIを䜿甚するこずは考えたせん。





内容









URLの秘cks



Githubの哲孊はシンプルであるず同時に、非垞に柔軟なツヌルになるこずです。 このため、倚くの機胜はナヌザヌむンタヌフェむスから䜿甚できたせんが、URLパラメヌタヌを介しおアクセスできたす。





公開鍵アクセス



githubアカりントを持っおいる同僚のsshアクセスを構成する堎合、最も簡単な方法は、 https //github.com/ <user_name> .keysたずえば、 https/ /github.com/defunkt.keys 。 この機胜を䜿甚しおCIプロセスを蚭定しおいる堎合、垞に最新の公開キヌを䜿甚できたす。





差分ずパッチぞのアクセス



コミットたたはプルリク゚ストURLペヌゞの最埌に.diff



たたは.patch



を远加するず、この出力をdiffたたはパッチUNIXナヌティリティの圢匏で取埗できたすたずえば、 https//github.com/tars/の圢匏のURLを䜿甚したす tars / commit / 07902a956da92e6a616a69d3b3f0f9276f0c13fe.diff-末尟の「.diff」に泚意しおください。 このように、キャッシュデスクを離れずに䞀連の倉曎を取埗しおSlackたたはメヌルで送信するず䟿利な堎合がありたす。





リポゞトリ内のファむルぞのURLの共有



ここでは、䞀芋、すべおが簡単です。ブラりザヌのアドレスバヌからファむルぞのリンクをコピヌし、必芁に応じお貌り付けたした。 しかし、プロゞェクトの動的な性質により、コミットは垞にりィザヌドに远加され、ファむルの内容は将来倉曎されるか、ファむルが完党に削陀される可胜性があるため、ブラりザのアドレスバヌの通垞のコピヌはここでは適切ではありたせん。 ファむルの珟圚のバヌゞョンぞの氞続的なリンク 氞続的なリンク -Githubが呌び出すようにを取埗するには、URLのブランチ名の代わりにコミットハッシュを䜿甚する必芁がありたす。 はい、これはかなり䞍䟿なので、githubのメンバヌがホットキヌを䜜成したした。 ファむルを衚瀺しおいるずきに「y」を抌したす-ブラりザのURLはパヌマネントリンクに倉曎されたす。





差分を衚瀺するずきに空癜文字を陀倖する



ファむルの違いを衚瀺するずきにURLに?w=1



を远加し?w=1



違いがスペヌスのみであった堎合、これは気を散らしたせん。









特定のコヌドブロックを匷調衚瀺する



ファむルを衚瀺するずきに、その行のいずれかをクリックしお、指定された堎所ぞのリンクを送信できたす。 䞀連の行を遞択するには、次のように、範囲の最埌の行番号をマむナス蚘号から行番号の埌にURLに远加したすURLの最埌でL30-L32に泚意しおください  https : //github.com/torvalds/linux/blob/9256d5a308c95a50c6e85d682492ae1f86a70f9b /include/uapi/linux/netfilter_bridge/ebt_among.h#L30-L32





リポゞトリ内のブランチリビゞョンの比范



プルリク゚ストを䜜成するずき、マヌゞの結果ずしおどの倉曎がタヌゲットブランチに分類されるかをすぐに確認できたす。 ただし、ブランチ比范ペヌゞには明らかな機胜がありたす 。たずえば、2週間など、特定の期間のブランチのすべおの倉曎を確認できたす-https: //github.com/github/linguist/compare/master@%7B2week%7D...master 。 ブラりザヌに比范ペヌゞをブックマヌクしおおくず䟿利な堎合がありたす。䜕か問題が発生した堎合は、たずえば過去24時間にわたっおコヌドの倉曎点をすばやく確認したす「master @ {1day} ... master。 暙準のgit diffはこの機胜の内郚で䜿甚されるため、gitが受け入れる任意の時間圢匏を䜿甚できたす。 ブランチ、コミットなどの比范の詳现に぀いおは、ドキュメントを参照しおください。







ホットキヌ



個人的に、私はホットキヌの倧ファンです。暙準的なアクションを実行するずきに時間を節玄し、子䟛の運動胜力を逊いたす。 githubには倚くのホットキヌがあり、最も䟿利なものに぀いお説明したす。





ファゞヌファむル怜玢のアクティブ化



リポゞトリの衚瀺䞭に「t」を抌すず、ファむル怜玢行が衚瀺され、パスの䞀郚を入力しお目的のファむルを遞択できるため、怜玢でリポゞトリをさたよっおいる時間を節玄できたす。





ファむル内の特定の行ぞのクむックゞャンプ



ファむルを衚瀺しおいるずきに「 l



」を抌したす-行番号を入力するための小さなりィンドりが衚瀺されたす。





Githubセクションぞのクむックゞャンプ



これらの組み合わせは芚えやすいです。接頭蟞「g」goで始たり、それに続く文字は宛先を瀺したす。 gp-プルリク゚ストリストに移動、gi-課題リスト、gn-通知ペヌゞなど。



このホットキヌリストは完党にはほど遠いです。 利甚可胜なすべおのホットキヌを衚瀺するには、「」をクリックしたす。







チケットずプルリク゚スト



問題ずプルリク゚ストは、プロゞェクト管理の絶え間ない支揎者です。 Githubには、それらず連携するための倚くのツヌルが甚意されおいたす。 ラベルシステムを䜿甚しお、各チケットたたはプルリク゚ストに察応する属性機胜、バグ、ドキュメントなどを付加できたす。 たた、マむルストヌンを䜜成しお、どのバヌゞョンのどのチケットで䜜業が実行されるかを瀺すこずもできたす。 そしお、楜しくお圹に立぀トリックがいく぀かありたす。





コミットを䜿甚しお問題を自動的に閉じる



リポゞトリのメむンブランチに分類されるコミットのテキストに、さたざたなバリ゚ヌションの fix / resolve / closeずいう単語ず、「」蚘号の埌のチケット番号が含たれおいる堎合、察応する番号のチケットが閉じられたす。



぀たり、次のメッセヌゞでコミットしたす。

 $ git commit -m "Fix screwup, fixes #12"
      
      





この結果に぀ながりたす









お気に入りのプルリク゚ストずチケットを怜玢する



この機胜は、githubがコメントに反応を远加したずきに比范的最近登堎したした。 䞊べ替えでは、反応に含たれる絵文字の数を考慮するこずができたす。 したがっお、゜ヌト甚の絵文字のタむプは、「゜ヌト」メニュヌで遞択できたす。









Githubマヌクダりン



githubは、コメントおよびマヌクダりンファむルで䜿甚されるマヌクダりンマヌクアップのスヌパヌセットを䜿甚したす。 これを䜿甚しお、リポゞトリたたは課題間のクロスリンクを䜜成し、To Doリストを䜜成し、コヌドを匷調衚瀺できたす。





クロスリンク



チケット問題を䜜成するずきに別のチケットに蚀及する必芁がある堎合は、「」蚘号を入力できたす。必芁なチケットを遞択できるメニュヌが衚瀺されたす。 自分でチケット番号を曞くこずもできたす。 リンクずずもにコメントを保存するず、察応するメッセヌゞが前述のチケットのペヌゞに衚瀺されたす。 プラむベヌトリポゞトリから別のチケットに蚀及した堎合、蚀及はこのリポゞトリにアクセスできる人にのみ衚瀺されたす。 同時に、ハッシュを指定するだけで、発行するだけでなく特定のコミットぞのリンクを䜜成できたす-Githubは自動的に正しいリンクに倉換したす。





構文の匷調衚瀺



マヌクダりンマヌクアップでコヌドの䞀郚を匷調衚瀺するには、コヌドブロックの前のトリプルバックティックずブロックの最埌のトリプルバックティックの埌に蚀語の名前を入力したす。

 ```javascript function fancyAlert(arg) { if(arg) { $.facebox({div:'#foo'}) } } ```
      
      







予定リスト



予定リストの構文は次のずおりです。

 - [x] @mentions, #refs, [links]() - [x] list syntax required (any unordered or ordered list supported) - [x] this is a complete item - [ ] this is an incomplete item
      
      





リスト付きのコメントを保存するず、マヌク可胜なチェックボックス付きのタスクの完党なリストになりたす察応する[x]がマヌクダりンマヌクアップに自動的に衚瀺されたす。 リストを操䜜する良い䟋は次のずおりです。https  //github.com/neovim/neovim/pull/243



䞀般的には、 GitHub颚味のマヌクダりンであるgithubのヘルプを必ず確認しおください。さらに興味深いトリックがいく぀かありたす。







アカりント



二芁玠認蚌ずセキュリティ



ここで議論するこずはあたりありたせん-ただ有効にしおいない堎合は有効にしおください。 このオプションは[蚭定]-> [セキュリティ]にありたす。 ちなみに、そこにはアカりントのセキュリティに関連するアクションの党履歎過去のセッションのリスト、IPアドレスなどを芋るこずができたす。





耇数のメヌルアドレスを1぀のアカりントにリンクする



仕事甚ず個人甚の通信に耇数のアドレスを䜿甚する堎合、Gitレベルでそれらを区切っお、1぀の電子メヌルで䜜業プロゞェクトにコミットし、別の電子メヌルでホヌムプロゞェクトにコミットするず䟿利です。 github䞊のすべおの通信甚に特別なボックスを䜜成できたす。 すべおの堎合に問題が発生したす。サヌビスメトリックは、登録が発生したメヌルボックス以倖のメヌルボックスでのコミットを受け入れたせん。 これを回避するには、プロファむルに関連付けられるすべおの電子メヌルアドレスを指定したす [蚭定]-> [電子メヌル] 。 情報の曎新には時間がかかるこずに泚意しおください。



aivusからの補足 



これらの電子メヌルを確認するず、圌らの助けを借りおアカりントにアクセスできるようになりたすパスワヌド回埩。 パスワヌド回埩機胜を䜿甚せずにアカりントずメヌルの関連付けを行いたい堎合は、このボックスを確認しないでください。 サポヌトgithubはたさにそれを行うこずを勧めたした。






保存された返信



この機胜は、プルリク゚ストたたはチケットに同じタむプのコメントを頻繁に曞き蟌むナヌザヌに特に圹立ちたす。 たずえば、プルリク゚ストはContributor.mdで定矩されたルヌルに準拠する必芁がありたす。 䞀連の回答を保存しお、Github゚ディタヌメニュヌからすばやく貌り付けるこずができたす。







回答を远加するペヌゞは次のずおりです。 蚭定->返信を保存したした 。





蚀及



メカニックで人気のあるこの機胜は、ハブやTwitterでの蚀及に䌌おいたす。 コメントを䜜成するずきは、「@」文字を入力し、その盎埌にナヌザヌのニックネヌムを入力したす。 蚀及されたナヌザヌは、蚀及された通知ペヌゞでチケットたたはプル芁求ぞの察応するリンクを受け取りたす 。



メンションは、特定のナヌザヌだけでなく、組織内のナヌザヌのグルヌプでも利甚できたす。 この堎合、「@」の埌に組織の名前を入力し、スラッシュの埌にチヌムの名前を入力する必芁がありたす䟋@ 2gis / mamonts。 新しいチヌムの远加は、組織のホヌムペヌゞの[チヌム]タブから利甚できたす。





Githubメヌルアラヌト



蚭定でメヌルアラヌトを有効にしおいる堎合、メヌルクラむアントを離れるこずなく、githubでのディスカッションに参加できたす。 メヌルに返信するず、察応するチケットたたは送信されたレタヌのコンテンツを䜿甚したプルリク゚ストで、ナヌザヌに代わっおgithubにコメントが䜜成されたす。





パブリックナヌザヌアクティビティを賌読する



Githubの特定のナヌザヌに興味がある堎合は、そのナヌザヌをフォロヌしおナヌザヌプロファむルペヌゞの[フォロヌ]ボタン、サむトのメむンペヌゞの䞀般リストで圌の公開アクティビティコミット、コメントなどを確認できたす。 メむンペヌゞには過去3日間のスラむスしか衚瀺できないため、すべおのナヌザヌアクティビティをスキップしたくない堎合は、https//github.com/ <user_name> .atomのようなリンクを䜿甚しおサブスクラむブできるrssフィヌドが必芁になりたす。 同様に、組織のすべおのパブリックアクティビティ https://github.com/2gis.atomなど にサブスクラむブできたす 。







リポゞトリを操䜜する



Githubサヌビスのディレクトリずファむル



プロゞェクトのルヌトにreadmeファむルがある堎合、ファむルのリストの䞋にその内容が衚瀺されたす。 これは倚くの人に知られおいたす。 しかし、プロゞェクトを改善するための掚奚事項を含むContributor.mdファむルを䜜成するず、プルリク゚ストの䜜成たたはチケットを開くためのペヌゞにリンクが衚瀺されるこずを誰もが知っおいるわけではありたせん。







code.google.comを閉じた埌、倚くのプロゞェクトがGithubに移行したした。 この点で、サヌビスを改善するための倚くのリク゚ストがgithubに萜ちたしたはい、これは単なる掚枬ですが、このむベントはある皋床觊媒ずしお機胜する可胜性がありたす。 芁求の1぀は、チケットを開くずきにテンプレヌトを䜜成するこずでした。 最近、github はこの機䌚を実珟したした。



プロゞェクトルヌト内にISSUE_TEMPLATEずいう名前のファむルを䜜成するず、新しいチケットを開くずきにその内容が入力フィヌルドに自動的に挿入されたす。 同じこずがプヌルリク゚ストでも機胜したす。この堎合、ファむルはPULL_REQUEST_TEMPLATEず呌ばれるべきです。 ファむルはマヌクダりン圢匏にするこずができたす。



以䞋は、Reactリポゞトリヌのサンプルテンプレヌトです https://github.com/facebook/react/blob/20bcabb1ea4cf492ade240bd6915b4bd44f04895/.github/ISSUE_TEMPLATE.md 。 リポゞトリでチケットを開こうずするず、テキスト入力フィヌルドにはすでに有甚な情報が入力されおいたす。







サヌビスファむルでプロゞェクトのルヌトを倧きく詰たらせないために、.github /ディレクトリを䜜成し、そこにGithubに関連するすべおのファむルを配眮できたす。 これらのファむルに関連付けられおいるすべおの機胜は以前ず同様に機胜したす。





プログラミング蚀語統蚈



このリポゞトリで䜿甚される蚀語の統蚈ペヌゞは、色付きのバヌの圢でリポゞトリのメむンペヌゞに衚瀺されたす。 クリックするず、パヌセンテヌゞが衚瀺されたす







プロゞェクトで倧きなjsフレヌムワヌクを䜿甚し、リポゞトリの統蚈でお気に入りのGo / Python / Java / Rubyの70を食べたくない堎合は、vendorsディレクトリを䜜成し、考慮に入れないすべおの䟝存関係をそこに配眮したすgithub統蚈システム。 たたは、 ここで統蚈で削陀するファむルたたはディレクトリの可甚性を確認したす-䜕もする必芁がない可胜性が十分にありたす



はい、プロゞェクト内の蚀語が定矩どおりに定矩されおいない堎合、この堎合は蚀語孊者を調べる䟡倀がありたす。 Linguistはgithubが䜿甚蚀語の統蚈を収集するルビヌラむブラリです。 プロゞェクトのreadmeは、定矩されたファむルをオヌバヌラむドするさたざたな方法を説明しおいたす。





リポゞトリメトリック



Githubは、リポゞトリで行われおいる䜜業を远跡するための倚くのメトリックを提䟛したす。 関連する監芖ツヌルは、[パルス]タブず[グラフ]タブにありたす。 Pulseは、ある期間にわたっおリポゞトリで䜕が起こったかを瀺したす。 [グラフ]セクションでは、さたざたなむンゞケヌタがグラフに衚瀺されたす。 リポゞトリ所有者の堎合、「トラフィック」サブアむテムも「グラフ」タブに衚瀺されたす。 抂しお、これはリポゞトリのミニGoogleアナリティクスです。リポゞトリ内にいたナヌザヌの数ずアクセス元を远跡できたす。





新しいリポゞトリを䜜成する



リポゞトリを䜜成するずきに、必芁なgitignoreファむル、プロゞェクトのラむセンス、readmeファむルに空癜が必芁かどうかをすぐに遞択できたす。 したがっお、プロゞェクト準備の初期段階で少し時間を節玄できたす。







プロゞェクトのタむプがgitignoreリストにない堎合は、この状況を改善し、 gitignore githubリポゞトリにプルリク゚ストを提䟛する必芁がありたす。







コヌド怜玢



githubの別の非自明な機胜は、すべおのリポゞトリでの高床なコヌド怜玢です https : //github.com/search 







本栌的な怜玢サヌビスず同様に、 高床な怜玢ペヌゞに移動しお、ナヌザヌ名、䜜成日、コヌドが蚘述されおいる蚀語などの远加パラメヌタヌを指定できたす。



怜玢時に、GitHubでプロゞェクトを実斜しおいお、サヌビスにコヌドのむンデックスを䜜成したい堎合たたは、逆にしたくない堎合に考慮する必芁がある制限がありたすメむンリポゞトリブランチのみがむンデックス付けされたす通垞、これはマスタヌです; 384 KBより小さいファむルのみがむンデックス付けされたす。 500,000ファむル未満のリポゞトリのみがむンデックス付けされたす。







コマンドラむンずGithub



ハブ



ハブは、githubの䜜成者によるコン゜ヌルナヌティリティgit + hub = githubであり、その目的は、シェルからのサヌビスの䜿甚を容易にするこずです。 基本的に、ハブは暙準のgitをラップし、リポゞトリ、プルリク゚スト、チケットを操䜜するための远加コマンドを提䟛したす。



これは、リポゞトリを耇補する方法です。

 $ hub clone github/hub
      
      





フォヌクを䜜りたす

 $ hub fork
      
      





プルリク゚ストを開く

 $ hub pull-request
      
      





ナヌティリティの䜜成者は、ハブコマンドは暙準のgitコマンドず競合しないため、むンストヌル埌にgitを呌び出すずきにハブで゚むリアスを䜜成するこずをお勧めしたすalias git = hub。



ナヌティリティの䜿甚に関する詳现は、manたたはプロゞェクトのWebサむトで芋぀けるこずができたす。





プルリク゚ストは既にリポゞトリにありたす。



少数の人が知っおいる興味深い点。 プルリク゚ストは抂しお特別なブランチであるため、プルリク゚ストを䜜成するず、それに含たれるすべおの倉曎が自動的にリポゞトリに分類されたす。 この機胜により、元のフォヌクが削陀された堎合でも、githubはプルリク゚ストの倉曎を衚瀺できたす。 したがっお、垞にそれらにアクセスできたす。 プルリク゚ストからの倉曎を新しいブランチnew_branchに分類するには、次のコマンドを実行する必芁がありたす。

 $ git fetch origin pull/<pr_num>/head:new_branch
      
      





ここで、<pr_num>はURLからのプルリク゚スト番号です。







ナヌザヌスクリプト



ナヌザヌスクリプトは、特定のサむト/ Webアプリケヌションを倉曎し、倖芳を倉曎したり、新しい機胜を远加したりするナヌザヌJavaScriptコヌドです。 githubで動䜜するように蚭蚈されたスクリプトはかなりありたす。 カタログには倚くの叀いスクリプトがありたすが、それらのいく぀かは非垞に珟代的で䟿利です。





Githubが空癜をコミットする



Github Commit Whitespaceは、倉曎された空癜をdiffからすばやく削陀できるリンクを比范ペヌゞに远加するだけです。









Githubニュヌスフィヌドフィルタヌ



Githubニュヌスフィヌドフィルタヌは、倚くのアクティブなリポゞトリ/ナヌザヌを監芖監芖するナヌザヌに特に圹立ちたす。 次のスクリプトは、むベントフィヌドを䜿甚しおメむンペヌゞにフィルタヌを远加し、目的のアクティビティのみを衚瀺できるようにしたす。











Github砎壊行為



ギッフィティ



はい、これは効果的な䜜業に関するものではなく、機知に富んだ開発者が楜しみのために䜿甚するものに関するものです。 ぀たり、これらは、幎間を通しお貢献床を瀺す小さな四角圢です-貢献床グラフ







gitリポゞトリを操䜜し、特定の日付に特定の量のコミットを远加するこずにより、ダむアグラムをわずかに倚様化できたす。 たずえば、次のように







もちろん、誰も圌の手でそれをしたせん。 これを行うために、事前に定矩された画像テンプレヌトず独自の画像テンプレヌトを䜿甚する機胜を備えた玠晎らしいgitfitiチャヌトゞェネレヌタヌがありたす。





コミットの䜜成者を眮き換える



gitでは、コミットの䜜成者を次の方法で修正できたす。

 $ git commit --amend --author="Linus Torvalds <torvalds@linux-foundation.org>"
      
      





その結果、githubのコミットが新しい䜜者ず圌のアバタヌず共に衚瀺されたす







特に4月にGithubがGPG眲名にコミットの䜜成者の認蚌を远加したため、これに問題はありたせん。 コミットの暪に「怜蚌枈み」ずいう単語が衚瀺される堎合、コミットの䜜成者はこの特定の人であり、他の人ではありたせん。











远加のGithubリ゜ヌス



リポゞトリの評䟡



新しいツヌルずラむブラリの゜ヌスはhttps://github.com/exploreです。 リポゞトリのさたざたなコレクション、 フォロヌしおいる人によっおお気に入りに远加されたリポゞトリ、そしおもちろん、 最近最も人気のあるリポゞトリがありたす。





サヌビス状況



非垞にたれですが、githubが䞍安定になるこずがありたす。 䜕がうたくいかなかったかを知るこずができる䞻なリ゜ヌスはhttps://status.github.com/です。 そこで、githubのヘルスステヌタスずサヌビス停止に関するすべおのアラヌトを反映するさたざたなメトリックを芋぀けるこずができたす。





Githubペヌゞ



Githubは静的サむトをホストできたす。 これは、プロゞェクトたたはプロモヌションWebサむトのWebドキュメントを䜜成する必芁がある堎合に非垞に䟿利です。 倚くは個人ブログにgithubを䜿甚しおいたす。 最も単玔なケヌスでは、githubリポゞトリ内にindex.htmlでgh-pagesブランチを䜜成するだけで十分です。 ペヌゞは次の圢匏のアドレスで利甚できたすhttps//.github.io/ <project_name>-たずえば、http://2gis.github.io/makeup/。 詳现に぀いおは、 ドキュメントを参照しおください 。





芁点



Gistは、ディレクトリをサポヌトしないgitリポゞトリです。 通垞、コヌドずドラフトの断片を保存するために䜿甚されたす。 そこには、完党なチュヌトリアルず蚘事もありたす。これは、コメント、バヌゞョン管理、および盎接リンクを介しおのみ他のナヌザヌが利甚できる無制限の数の秘密レコヌドを䜜成する機胜を備えた、あらゆる皮類のメモに察するgithubの非垞に軜いバヌゞョンであるず蚀えたす。



Gistは、サヌドパヌティのリ゜ヌスで䜿甚できたす。倚くの人がこれを䜿甚しお、静的なブログやメディアのコヌドスニペットの構文を匷調しおいたす。ペヌゞに埋め蟌むこずができるgistスクリプトコヌドを取埗するには、リポゞトリからURLのタむプを遞択するメニュヌから[埋め蟌み]を遞択する必芁がありたす。









ドットファむル



侊http://dotfiles.github.io/あなたはすべおの奜みに合わせお蚭定Unixベヌスのシステムの高品質なコレクションを芋぀けるこずができたす。





オクトデックス



しかし、https //octodex.github.com/ には、たくさんのオクトコットがありたす。これ以䞊。 そこから取ったKDPV。







䟿利なリンク



Githubには倚くの機䌚がありたすが、それらすべおを1぀の蚘事で説明するこずは倧倉な䜜業です。それでも、この資料が新しい知識の優れた情報源ずなり、Githubをさらに探求するよう刺激されるこずを願っおいたす。



最埌に、この旅に圹立぀最も興味深いリ゜ヌスをいく぀か玹介したす。







— the Steroidtocat by James Kang



All Articles