RyoFurukawa-123 / gitetc

Gitについて
0 stars 0 forks source link

GitHubとの連携 #2

Open RyoFurukawa-123 opened 4 years ago

RyoFurukawa-123 commented 4 years ago

参考サイト

新人エンジニアpushまでの道 https://qiita.com/yukibe/items/9ef9d54f2e7d53cfb51c

gitにおける、commitとpushの頻度 https://qiita.com/kozyty@github/items/87fa95a236b6142f7c10

RyoFurukawa-123 commented 4 years ago

push(プッシュ)とは

「git push」とは、ローカルリポジトリの内容をリモートリポジトリに反映させるためのコマンドです。

もう少し具体的に説明すると、「ローカルの現在のブランチ」を「リモートの指定したブランチ」に反映させるためにプッシュします。

ブランチはデフォルトで「master」ブランチになっているはずなので、そのままリモートの「master」ブランチにプッシュしてみましょう。

「-u」をつけることで、ローカルのブランチとリモートのブランチを紐づけ、次回から「git push」だけで実行可能になります。

コマンド実行時にGitHubのアカウント名とパスワードを求められるので、間違えないように気をつけて入力しましょう。

プッシュが終わったら、GitHubの自分のリポジトリを確認してみてください。リビジョンが追加されているはずです。

スクリーンショット 2020-06-19 16 16 24

簡単に言えば、 リモートリポジトリに変更を書き込みます という事です。 originのmasterブランチにコミットの内容を反映させます。

スクリーンショット 2020-06-19 16 26 23 スクリーンショット 2020-06-19 17 18 05

gitにおける、commitとpushの頻度 より https://qiita.com/kozyty@github/items/87fa95a236b6142f7c10

たとえタスクが途中でもキリが良ければ即コミット サブタスク単位 とか 本日の作業終了時 など、キリが良いタイミングがあればガツガツコミットしていきましょう。

頻度は高ければ高いほど正義だと思って下さい。

注意点としてはコミットコメントが適当になることですが、コミットコメントルールがない場合でも、コメントで容易に内容が差別できる程度のコメントは書くようにしましょう。

スクリーンショット 2020-06-19 16 47 29

なぜ、細かい単位での頻度を推奨するのか

あくまで個人的な考え方ですが、そうする理由をリストで簡単に説明します。なぜかは考えてみてくださいw

コミットの頻度を細かくする理由

・自身の見積もり精度やタスク管理能力向上 ・複数タスクが混在したコミットは悪 ・コミットとタグの相性UP ・Pivotalなどの外部サービスとの連携が容易 ・履歴を参照する際のコスト低下(log, reset, bisect, rebase時など) ・自分や他人がみてもcommit内容の把握が容易

プッシュの頻度を細かくする理由

・大きなコンフリクト発生頻度低下 ・git pull の頻度も自然と上昇 ・チーム間での状況共有が容易 ・コードは即他人に晒すという意識向上

デメリットはないの?

特にないと思います。敢えていうなら「手間のコスト」ですが、そもそも大したコストじゃないですし、得られるメリットと比べるとROIは高い思うのは私だけでしょうか?

あとは人によっては、「コミットは整理してからPUSHしたい」などもあると思いますが、整理欲高いとPUSHタイミングが遅れがちになるので個人的にはすきじゃないです(なんどもいいますが、ここは好みの話です。)

RyoFurukawa-123 commented 4 years ago

git push 手順

remote add リモートリポジトリはネット上に存在するため、ローカルリポジトリとのやり取りを行う時は、アドレス(パス)を指定する必要があります。

作業の都度アドレスを指定するのも大変なので、ここでoriginという名前と関連付け、以後originとして扱えるようにしています。

$ git remote add origin https://github.com/ユーザーID/push_test.git

push

リモートリポジトリに変更を書き込みます。

originのmasterブランチにコミットの内容を反映させます。

$ git push origin master

RyoFurukawa-123 commented 4 years ago

Git Hub pagesとは

GitHub pagesについて(公式) https://help.github.com/ja/github/working-with-github-pages/about-github-pages GitHub pagesとは https://agency-star.co.jp/column/github-pages/

以前は静的サイトを構築するといえば、自分でレンタルサーバーを借りて静的ファイルをFTP・SFTPでアップロードしたものでした。

※GitHub公式参照 GitHub Pages は、GitHubが2008年から提供している、(GitHub のリポジトリから HTML、CSS、および JavaScript ファイル を直接取得し、任意でビルドプロセスを通じてファイルを実行し、)ウェブサイトを公開できる静的なサイトホスティングサービスです。

生成されたWebサイトは特定のURLから確認することが可能な他、独自ドメインを設定することも可能です。

GitHub Pages は、PHP、Ruby、Python などのサーバーサイド言語はサポートしていません。

ソースブランチ

ユーザー・組織のデフォルトのブランチはmasterブランチで、変更することはできないようになっています。

プロジェクトのデフォルトのブランチはgh-pagesブランチで、この名前のブランチが作成されると自動で公開される仕組みです。

プロジェクトのデフォルトブランチはmasterブランチに変更できます。これらのブランチ以外は適用できないので注意です。

パブリック・プライベート

リポジトリの可視性はパブリック・プライベートの2種類です。 可視性がパブリックのリポジトリについては特に言及する必要はないでしょう。

GitHubのプロジェクトはリポジトリ内のファイルや課題なども含めて全て公開されている状態です。

ではプライベートのリポジトリについてはどうなるでしょうか。

何度も書いているように、GitHub Pagesは静的サイトを公開できるサービスです。

例えばプロジェクトのdocsディレクトリ配下を公開すれば、docsディレクトリ配下のファイルは公開されることになります。

逆にdocsに含まれないファイルが外から見えることはありません。

プライベートリポジトリだからといって公開対象のユーザーが限定されているということはありませんのでご注意下さい。

静的サイトジェネレーター

動的サイトはWordPressなどのCMSや掲示板などで、背後でデータベースやWebアプリケーションが動作しています。

静的サイトはHTMLやCSS・JavaScriptのみで作成されたWebサイトです。

静的サイトジェネレーターはテンプレートエンジンを利用してWebサイトを構築し、MarkdownファイルをHTMLに変換して結合します。

様々な言語の静的サイトジェネレーターが開発されており、ジェネレーター本体や専用テーマの種類が豊富です。 動的サイトのようにユーザーが投稿したデータを利用したり、バックグラウンドで処理を行うことはできません。

有料と無料プランの違い

GitHubの無料プランではパブリックなリポジトリでしかGitHub Pagesを利用することができません。

プライベートなリポジトリでGitHub Pagesを利用するには有料プランにアップグレードする必要があります。

GitHub Pro・GitHub Teamなどです。

機能の内容については特に細かい制限などはなく、単に使えるか・使えないかの違いになります。

RyoFurukawa-123 commented 4 years ago

補足

Jekyllとは

JekyllはRuby製の静的サイトジェネレーターです。 Jekyllのメリットは便利なプラグインが利用できることです。一方でHugoなどに比べると生成速度が遅いというデメリットもあります。

GitHub PagesではユーザーがローカルにJekyllの動作環境を構築する必要はありません。

対象のブランチのディレクトリにcommitとpushを行えば、GitHubが自動でWebサイトを生成しデプロイしてくれます。

デメリットは公式がサポートしている一部のプラグインしか使用することができないことです。

公式がサポートしていないプラグインや自作のものを使いたい場合は、他の環境でJekyllのビルドを行い生成物をGitHubにcommitできます。

しかしGitHub Pagesを利用するメリットはMarkdownファイルの編集だけで済むところです。

わざわざビルドしてからcommitするなら、他のレンタルサーバーなどにデプロイするのと手間がそう変わらないのでおすすめしません。

GitHub Pagesを採用すると決めたら、素直にサポートされているプラグインで遣り繰りする方が低コストです。

RyoFurukawa-123 commented 4 years ago

GitHub pagesを作る

GitHub Pagesでwebページを公開する方法 https://qiita.com/sota_mikami/items/c6038cf13fd84b519a61

リポジトリを作成する

Repository nameにプロジェクトの名前を入力します。Descriptionは任意で構いません。

可視性はPublicを選択して下さい。READMEの初期化およびその他のオプションは指定なしです。

Create repositoryボタンを押してリポジトリを作成しましょう。