1. システムとオフィスの融合|株式会社QES
  2. media
  3. 仕事効率化
  4. コマンドを叩かずにGitHubでバージョン管理をする   ~アカウント作成からソースコードをダウンロードするまで~

QESブログ

コマンドを叩かずにGitHubでバージョン管理をする   ~アカウント作成からソースコードをダウンロードするまで~

  • LINEで送る
  • このエントリーをはてなブックマークに追加
Octocat


こんにちは。 システムソリューション営業本部の吾妻です。





先日公開した「クライアントレス」リモートアクセスの記事から、

紹介内容に沿ったソースコードをGitHubに公開し始めたのですが、

そもそもQES社内でも、オンプレサーバーにインストールされたTeam Foundation Serverを使ってバージョン管理を行っているプロジェクトがあったり、

Subversionを使っているプロジェクトがあったりと、必ずしもGitHubの利用頻度が高いわけではありませんでした。

そこで、今後GitHubを利用したバージョン管理へと出来るだけ統一していくことを目標として、

社内向けの説明資料を兼ねて、GitHubを簡単に使うための手順を記事にすることにしました。







バージョン管理してみよう


バージョン管理とは?



まず、以下のスクリーンショットをご覧下さい。

github-svc001.png



これは、あるシステム開発プロジェクトで、バージョン管理システムを使わずにドキュメントを管理している状況をイメージした図です。


システム開発に限ったことではありませんが、PCを使って文書や画像などを作っていると、

更新するたびに「名前を付けて保存」しながら作業することが多いと思います。



このようにファイルリネームやバックアップによってドキュメントを管理していると、

どのファイルが最新版かわからない、他の人が作業した内容に誤って上書き保存してしまう、

といった事故が発生することが多々あります。



このような事故のリスクをなくすために、

バージョン管理システムを利用してファイルを管理することが有効です。



バージョン管理システムを使うと、
  • 複数の人が、同じファイルを同時に編集できる
  • 新機能を追加したりバグが混入したりしたのがいつの時点か、誰が編集していたか遡って確認できる
  • 昔のソースコードに戻すことができる
といったメリットがあります。



バージョン管理と聞くと、ソースコードを管理するためのものというイメージが強いかもしれませんが、

ソースコードだけでなく、設計書・手順書といったドキュメントや、

画像等のバイナリファイルも管理対象とすることができます。




Gitとは?


Gitは、もともとLinuxカーネルのソースコードを

バージョン管理するためのツールとして作られたバージョン管理システムです。



Git以前から存在していたSubversion等のバージョン管理システムとの大きな違いは、

分散バージョン管理システム」だという点です。



SubversionとGitの違いを図に示します。

github-svn-git001.png



ソースコードのバックアップ(ファイルとフォルダ)や、変更履歴等をまとめたものをリポジトリと呼びますが、

Gitでは、共同リポジトリに対して複数人が読み書きするのではなく、

個々人のリポジトリに対して変更を加えてから、

共同リポジトリに反映させる仕組みになっています。



GitHubとは?


GitHubは、設計図を公開・共有できるサイト Gitのリモートリポジトリをホスティングするサービスです。



Microsoft社に買収されてから、制限はあるものの、

無償でプライベート(非公開)なリポジトリも作成することができるようになりました。



ポリシー上の問題等で、クラウドサービスにソースコードを上げることができない場合は、

GitHub Enterpriseというセルフホスト型のソフトウェアを利用することもできます。




GitHubのアカウントを作ってみる




とりあえず、 GitHub.com にアクセスしてみます。


すると、ページの右上の方に、サインアップ(ユーザー登録)するためのフォームがあるので、

必要事項を入力して、Sign upボタンをクリックします。

github003.png





CAPTCHAを解いて、人間であることを証明しましょう。

github004.png







アンケートに答えながら、GitHubからEメールが届くのを待ちます。

github006.png








GitHubからメールが届いたら、 Verify email address をクリックします。

github011.png








Skip this for now をクリックして、トップページに移動します。

github012.png







ひとまずGitHubアカウントを作成することができました。

続いて、GitHubが公式に配布している便利なGUIクライアントアプリケーションがあるので、それをインストールしていきます。




GitHub Desktopをインストールする



まず、 GitHub Desktop のページを開きます。



ページの真ん中にあるDownloadボタンをクリックして、

インストーラーをダウンロードします(アクセスしているPCに依って、OS名は切り替わるはずです)。

github014.png





ダウンロードしたインストーラーを開いて暫くすると、

Welcome to GitHub Desktop と書かれた画面が表示されるので、

Sign in to GitHub.com をクリックします。

github017.png





ブラウザが開くので、GitHubにサインアップした際に登録した認証情報を入力します。

github019.png





アプリを認可するために、 Authorize desktop をクリックします。

github020.png





GitHub Desktopが開くので、登録されている情報が正しいか確認して進むと、

Let's get started! 画面が表示されます。

github027.png






GitHubに公開されている誰かのソースコードをダウンロード(clone)してみる


ただ単にソースコードをダウンロードするだけであれば、

ブラウザでGitHubのリポジトリを開いて、Download ZIPをクリックするだけで済むのですが、

それだとバージョン管理されていないソースコードがローカルにできてしまうので、

(リモート)リポジトリをローカルリポジトリに複製(=clone)するために、以下のような手順を踏む必要があります。



○ ○ ○ ○ ○




GitHub Desktopの Let's get started! 画面で、

Clone a respository from the Internet... をクリックします。



すると、ダイアログが表示されるので、

ダウンロードしたいリポジトリのURLまたは「<ユーザー名>/<リポジトリ名>」を入力します。




今回は、ダウンロードするリポジトリ(ソースコード一式)として qesblog/guacamole-on-docker-containers を利用するので、

 Repository URL or GitHub username and repository に

 https://github.com/qesblog/guacamole-on-docker-containers または qesblog/guacamole-on-docker-containers と入力します。



 Local path (ダウンロード先のパス)は必要に応じて変更します。



その後、 Clone をクリックします。

github030.png





画面が切り替わり、 Current repository に guacamole-on-docker-containers と表示されていることを確認します。

github032.png





一番左側のパネルのタブを Changes から History に切り替えると、

リポジトリのこれまでの変更履歴が確認できます。

github033.png





一番左側のパネルの Current repository をクリックすると、ローカルにあるリポジトリの一覧が表示されます。

github034.png





右クリックメニューから、リポジトリをエクスプローラーで開いたり、Visual Studio Codeで開いたりできます。

github035.png





まとめ



本記事では、バージョン管理システムの役割や、代表的なバージョン管理サービスであるGitHubについて簡単にご紹介しました。

今後も、GitHubのリポジトリにソースコードや手順をまとめつつ、

GitHubの特徴的な機能であるPull Requestの使い方や、GitHub ActionsによるCI/CDなど、より深い部分についてもご紹介できればと考えています。





このブログで参照されている、 Git は、米国およびその他の国における Software Freedom Conservancy, Inc. の商標または登録商標です。

このブログで参照されている、 GitHub は、米国およびその他の国における GitHub Inc. の商標または登録商標です。

このブログで参照されている、DockerおよびDocker Composeは、米国およびその他の国における Docker Inc. の商標または登録商標です。

このブログで参照されている、Microsoft、Windows、その他のマイクロソフト製品およびサービスは、米国およびその他の国におけるマイクロソフトの商標または登録商標です。

  • LINEで送る
  • このエントリーをはてなブックマークに追加

お気軽にお問い合わせください。

ページのトップへ