Gitの学習

このPostはGitについて学ぶ事ができます。

解説していることは目次からご覧ください

目次

  • 学習の対象者
  • ゴール
  • ドキュメントのスコープ
  • ドキュメントを読み込むことで得られる事
  • 実践

  • 学習の対象者

    このドキュメントは以下の人物像を対象にしています。

    その為これ以外の人物についてはドキュメントを読み飛ばしていただいてかまいせん。

    • Gitをソフトウェア開発業務で利用した事がない方
    • Gitをそもそも知らない方
    • Gitの基本的なコマンドを忘れた方


    ゴール

    このドキュメントのゴールは以下の通りです。

    Gitをソフトウェア開発業務で利用するための最低限の知識を得る

    具体的にはGitの基本的な操作(クローン、コミット、プッシュ、プル、マージ、ブランチ)を理解し、実行できるようになることがゴールです。


    ドキュメントのスコープ

    このドキュメントのスコープは以下の通りです。

    • Gitの基本概念
    • バージョン管理とは何か
    • Gitの基本的な用語(コミット、リポジトリ、ブランチ、マージなど)の説明

    • リモートリポジトリのクローン
      • リモートリポジトリからローカルにクローンする方法
    • ブランチの作成と切り替え
      • 新しいブランチを作成し、既存のブランチに切り替える方法
    • 変更の追跡とコミット
      • ファイルの変更をGitで追跡し、コミットする方法
    • リモートリポジトリへのプッシュ
      • ローカルの変更をリモートリポジトリにプッシュする方法


    ドキュメントを読み込むことで得られる事

    具体的な業務においては以下の様なものです。

  • QAとしてエンジニアが作成したドキュメントの記載にローカルで変更を加えてGitHub上でプルリクとして提案する
  • QAとして既存のE2Eテストに加えた変更をGithub上でプルリクとして提案する
  • エンジニアとして既存のソフトウェアに変更を提案する
  • エンジニアとしてソフトウェアのバージョン管理を行う
  • 発展として

  • 不具合分析をGitのバージョン管理を追跡して加えられた変更を元に行う
  • 生産性のメトリクスの取得を特定の期間のコミット数や行数を元に行う
  • TODO:概念の説明の追加

    現在の構成だと、Gitの概念部分が説明できておらず、いきなり説明部分に飛んでしまっているので 初学者の方に優しくない構成になっている為それを改善する

    実践

    実際にコマンドを記入してみましょう

    Windowsの場合はGit Bashを利用してください

    Macの場合は端末を利用してください

    git clone repository/directory
    
    git branch branch-name
    git checkout branch-name
    
    git add file-name
    git status
    git commit -m "commit message"
    
    git push origin branch-name
    

    実践(このプロジェクトを例に)

    Windowsの場合はGit Bashを利用してください

    Macの場合は端末を利用してください

    cloneをsshで行う場合

    git clone git@github.com:dandk105/webapp_study.git
    

    cloneをhttpsで行う場合

    git clone https://github.com/dandk105/webapp_study.git
    

    branchを作成し、作成したbranchに切り替える

    git branch demo-branch
    git checkout demo-branch
    

    追加したファイルを変更に追加する 追加できているのかを確認する 追加したファイルをコミットする

    git add .
    git status
    git commit -m "初めてのコミット"
    

    コミットした変更をリモートリポジトリにプッシュする

    git push origin demo-branch
    

    引用・参考元

    Git

    Git Bashのインストール