toggle holdings Engineering Handbook
  • toggle holdings Engineering Handbook
  • 🏫Chapter 1 : toggle holdings engineer 101
    • 📏バリューとポリシー
    • 💟勤務体制と福利厚生
    • 💻開発環境
    • 🐣基礎研修
      • 我々は何者か・何を目指すのか
      • エンジニアの道徳
      • エンジニアの自己理解
      • 意思決定と認知負荷
      • 効果的なコミュニケーションスキル
      • クリティカルシンキングとロジカルシンキング
      • 依頼の受け方、依頼の出し方
      • 効果的な質問の仕方
      • ミスの要因と対策
      • 成長マインドセット
      • 文書作成の基本
      • 技術ドキュメントの書き方
      • 会社の収益構造
      • Webアプリケーションの基本概念
      • HTTPとDNS
      • コンピューターネットワーク
      • メールの基本概念
      • VSCode
      • Typing
      • Linuxとシェル
      • Makefile
      • GitおよびGitHub概要
      • Git
      • GitHub
      • 要件定義
      • ソフトウェア設計とテスト
      • データベース
      • SQL
      • コンテナ技術
      • フロントエンド開発
      • バックエンド開発
      • Webアプリケーションのセキュリティと認証・認可
      • エラーメッセージの読み方
      • IaCツール
      • TypeScript
      • Python
      • MySQL
      • PostgreSQL
      • Redis
      • Docker
      • Pulumi
      • Google Apps Script
      • 推奨書籍・Webサイト
    • 🧑‍💻テックリード研修
      • 技術者がリーダーになることの重要性
      • テックリードの適格性と要件
      • テックリードのスキルセット
      • リーダーとしての自己成長
    • 📙マネージメント研修
      • エンジニアリングマネージャーの役割と責任
      • エンジニアリングマネージャーの適格性と要件
      • リーダーシップとコミュニケーション
      • プロジェクトマネジメント
      • 技術リーダーシップとイノベーション
      • パフォーマンス管理と成果の追跡
      • 変化管理と組織文化の推進
      • エンジニアリングマネージャーとしての倫理と責任
      • マネージャーとしての自己成長
    • 🤝エンジニア採用
      • 📨中途採用
      • 🥚新卒採用
    • 🛫オンボーディング
    • 📊人事制度
  • 🌐Chapter 2 : Products & Development
    • 🏢デベNAVI
    • 🧪トグルラボ
  • 📃Appendix
    • 用語集
    • 用語集(土地売買特化)
GitBook提供
このページ内
  • バージョン管理とは
  • Gitとは
  • Gitを始める
  • GitHubとは
  • GitHub Issues
  • GitHub Actions
  • GitHub Wiki
  1. Chapter 1 : toggle holdings engineer 101
  2. 基礎研修

GitおよびGitHub概要

バージョン管理システムGitと、Gitを活用するためのサービスであるGitHubについて記載します

前へMakefile次へGit

最終更新 1 年前

バージョン管理とは

プログラムであれ文書であれ、何か変更を加えるときには元の状態も残しておきたい、あるいは過去のバージョンとの差分を確認したいという事はままあることです。

こうした変更を行うときに、ファイルをコピーしてファイル名に番号を付けたりして管理するという事は一つの手段です。しかしながら、そのやり方ではコピーを作る度に容量が無駄に増えていき、数が増えるほどに過去に遡ったり、過去との差分を確認することが困難になります。

1人の手元で自分だけが使うファイルの管理であればどんなやり方をしてもいいかもしれませんが、チームで開発するソフトウェアでそのようなやり方をしていたら、生産性が上がらないどころか誰がいつどんなコピーを取って差分を作ったかが追えなくなります。

そんな問題を解決するためのツールが、Gitに代表されるバージョン管理システムです。

Gitとは

Gitは、バージョン管理システムの一種です。ソフトウェア開発において、ソースコードや関連するファイルの変更履歴を管理するために使用されます。Gitは分散型バージョン管理システムであり、複数の開発者が同じプロジェクトを共同で作業する際に役立ちます。

Gitを使用すると、ファイルの変更を追跡し、異なるバージョンのファイルを比較したり、変更を元に戻したりできます。また、ブランチと呼ばれる分岐を作成し、同時に複数の開発作業を進めることも可能です。さらに、リモートリポジトリとの同期を行うことで、複数の開発者が変更を共有し、統合することもできます。

Gitは非常に人気のあるバージョン管理システムであり、多くのプロジェクトや開発者によって広く利用されています。GitHubやGitLabなどのホスティングサービスを通じて、リモートリポジトリを管理し、他の開発者との協力作業を円滑に行うことができます。

Gitを始める

Gitを始めるには、以下の手順を実施してください。

  1. Gitのインストール: 最初に、使用しているオペレーティングシステムに合わせてGitをインストールする必要があります。から入手できます。

  2. リポジトリの作成: Gitを使用してバージョン管理を始めるには、まずリポジトリ(repository)を作成する必要があります。リポジトリは、プロジェクトのファイルとその変更履歴を保存する場所です。新しいディレクトリを作成し、その中でGitのコマンドを使用してリポジトリを初期化します。

$ git init
  1. ファイルの追加とコミット: リポジトリを作成したら、ファイルを追加し、変更をコミットすることができます。ファイルの追加は、次のコマンドを使用します。

$ git add ファイル名

変更をコミットするには、次のコマンドを使用します。

$ git commit -m "コミットメッセージ"
  1. ブランチの作成と切り替え: Gitでは、複数のブランチを作成して同時に複数の開発作業を進めることができます。新しいブランチを作成するには、次のコマンドを使用します。

$ git branch 新しいブランチ名

ブランチを切り替えるには、次のコマンドを使用します。

$ git checkout ブランチ名
  1. リモートリポジトリとの連携: プロジェクトを他の開発者と共有するためには、リモートリポジトリを使用します。GitHubやGitLabなどのホスティングサービスでリモートリポジトリを作成し、ローカルのリポジトリと連携させる必要があります。リモートリポジトリのURLを追加するには、次のコマンドを使用します。

$ git remote add origin リモートリポジトリのURL
  1. 変更のプッシュとプル: ローカルリポジトリの変更をリモートリポジトリに反映するためには、変更をプッシュ(push)する必要があります。変更をプッシュするには、次のコマンドを使用します。

$ git push origin ブランチ名

他の開発者がリモートリポジトリに変更を加えた場合、変更をプル(pull)してローカルリポジトリに反映させることができます。変更をプルするには、次のコマンドを使用します。

$ git pull origin ブランチ名

GitHubとは

GitHubは、ソフトウェア開発プロジェクトのホスティングプラットフォームであり、Gitを使用してバージョン管理されたコードの共有と協力作業を行うためのサービスです。社内で開発するプロダクトはすべて、GitHubを用いて管理します。

以下は、GitHubの主な特徴と利点で、会社としてもその利点を享受するため利用しています。

  1. リポジトリのホスティング: GitHubは、Gitリポジトリをホスティングするためのクラウドベースのプラットフォームです。リモートリポジトリを作成し、他の開発者と共有することができます。

  2. コラボレーション: 複数の開発者が同じプロジェクトに参加し、コードの変更や問題の追跡、ディスカッションを行うことができます。コードレビュー、プルリクエスト、イシュートラッキングなどの機能により、効果的なコラボレーションが可能です。

  3. バージョン管理と履歴の追跡: Gitの強力なバージョン管理機能を活用し、コードの変更履歴や差分を追跡できます。バージョン管理により、誤ってコードを破壊するリスクを軽減し、変更の追跡やバージョン間の比較を容易にします。

  4. ウェブベースのインターフェース: GitHubは、使いやすいウェブベースのユーザーインターフェースを提供しています。リポジトリの閲覧、ファイルの編集、プルリクエストの作成、コードのマージなど、多くの開発タスクを直感的に行えます。

GitHub Issues

GitHub Issuesは、GitHubプラットフォーム上で提供される、ソフトウェア開発プロジェクトの問題追跡機能です。プロジェクトの進行中や修正すべき課題、バグ、提案などを管理するためのツールで、以下の目的で使用します。

  1. 問題の作成と管理: 開発者やプロジェクトメンバーは、問題を作成してトラッキングすることができます。問題にはタイトルや説明、ラベル、優先度、割り当てられた担当者などの情報を含めることができます。また、問題をオープン、クローズ、リポジトリ内の特定のブランチに関連付けるなど、タスクとソースコードを密に結び付けて管理します。

  2. コメントとディスカッション: 問題に対してコメントを追加することができます。関係者や利害関係者とのディスカッションや情報共有に使用されます。コメントはタイムスタンプ付きで表示され、やりとりが追跡されます。

  3. ラベルとフィルタリング: 問題にはカスタムラベルを追加することができます。ラベルは、問題のカテゴリや重要度などを示すために使用され、フィルタリングや整理に役立ちます。さまざまな条件に基づいて問題をフィルタリングし、特定の問題を見つけることもできます。

  4. マイルストーン: プロジェクトの進捗を追跡するために、マイルストーンを設定することができます。マイルストーンは、関連する問題やタスクをグループ化し、特定の目標やリリースに関連付けるのに役立ちます。

  5. リンクと参照: Issuesは、他の問題やプルリクエスト、コミットなどのGitHubの要素とも関連付けることができます。これにより、異なる要素間の関係性や依存関係を明確にすることができます。

GitHub Actions

GitHub Actionsは、GitHubプラットフォーム上で提供される、自動化および継続的インテグレーション/デリバリー(CI/CD)のためのワークフロー管理ツールです。GitHub Actionsを使用して、ソフトウェア開発プロジェクトのビルド、テスト、デプロイなどのタスクを自動化しています。

  1. ワークフローの作成: GitHub Actionsでは、ワークフローと呼ばれる手続きを定義することができます。ワークフローは、特定のイベント(例: コードのプッシュ、プルリクエストの作成)がトリガーとして設定され、実行されるタスクのシーケンスです。

  2. 自動化: ワークフローは、ビルド、テスト、デプロイ、リリースなどのタスクを自動化するために使用されます。GitHub Actionsは、これらのタスクを実行するための環境やランナーを提供し、カスタムスクリプトやコマンドを実行できます。

  3. 柔軟なカスタマイズ: GitHub Actionsでは、さまざまなアクションやツールを組み合わせてカスタムワークフローを作成できます。GitHubが提供する公式のアクションや、コミュニティから提供されるサードパーティのアクションを使用することもできます。

  4. イベント駆動: ワークフローは、特定のイベントが発生したときにトリガーされます。例えば、コードがプッシュされた場合やプルリクエストが作成された場合などです。これにより、特定のアクションが自動的に実行されるように設定することができます。

  5. 可視性と監視: GitHub Actionsでは、実行中のワークフローやタスクの状態を監視し、結果やログを確認することができます。また、通知やアラートを設定して、ワークフローの状態に関する情報を受け取ることもできます。

GitHub Wiki

GitHub Wikiは、GitHubプラットフォーム上で提供されるウィキ(Wiki)機能です。ウィキは、プロジェクトやリポジトリに関連するドキュメントや情報を共有・編集するためのツールで、プロダクトごとに以下のような目的で利用しています。

  1. ドキュメントの作成と編集: ユーザーは、マークアップ言語(Markdown)を使用してドキュメントを作成および編集することができます。Markdownは、シンプルな文法を使用して見やすいフォーマットでドキュメントを作成できるため、技術的な情報や説明文を記述するのに便利です。

  2. ページの整理とカテゴリ化: ドキュメントを論理的に整理するために、ページをカテゴリやサブページに分けることができます。これにより、ドキュメントのナビゲーションや構造を管理しやすくなります。

  3. バージョン管理と履歴の追跡: GitHub Wikiは、Gitを使用してバージョン管理されています。したがって、ドキュメントの変更履歴を追跡し、過去のバージョンに戻すことができます。

  4. コラボレーション: 複数のユーザーがドキュメントを編集できます。GitHubのコラボレーション機能を使用して、チームメンバーやコミュニティの他の開発者と共同でドキュメントを作成・編集することができます。

  5. ページの表示と検索: ドキュメントはウェブブラウザで表示され、ユーザーは簡単に閲覧できます。また、GitHub Wikiは検索機能を提供しており、特定のキーワードやフレーズでドキュメントを検索することができます。

これらの基本的な手順を実行することで、Gitを始めることができます。Gitの使い方についてはなどから辿れるドキュメントや学習サイトも参考にしてください。

🏫
🐣
Gitの公式ウェブサイト
推奨書籍・Webサイト