コマンドを叩かずにGitHubでバージョン管理をする ~アカウント作成からソースコードをダウンロードするまで~
こんにちは。 システムソリューション営業本部の吾妻です。
先日公開した「クライアントレス」リモートアクセスの記事から、
紹介内容に沿ったソースコードをGitHubに公開し始めたのですが、
そもそもQES社内でも、オンプレサーバーにインストールされたTeam Foundation Serverを使ってバージョン管理を行っているプロジェクトがあったり、
Subversionを使っているプロジェクトがあったりと、必ずしもGitHubの利用頻度が高いわけではありませんでした。
そこで、今後GitHubを利用したバージョン管理へと出来るだけ統一していくことを目標として、
社内向けの説明資料を兼ねて、GitHubを簡単に使うための手順を記事にすることにしました。
バージョン管理してみよう
バージョン管理とは?
まず、以下のスクリーンショットをご覧下さい。
これは、あるシステム開発プロジェクトで、バージョン管理システムを使わずにドキュメントを管理している状況をイメージした図です。
システム開発に限ったことではありませんが、PCを使って文書や画像などを作っていると、
更新するたびに「名前を付けて保存」しながら作業することが多いと思います。
このようにファイルリネームやバックアップによってドキュメントを管理していると、
どのファイルが最新版かわからない、他の人が作業した内容に誤って上書き保存してしまう、
といった事故が発生することが多々あります。
このような事故のリスクをなくすために、
バージョン管理システムを利用してファイルを管理することが有効です。
バージョン管理システムを使うと、
- 複数の人が、同じファイルを同時に編集できる
- 新機能を追加したりバグが混入したりしたのがいつの時点か、誰が編集していたか遡って確認できる
- 昔のソースコードに戻すことができる
バージョン管理と聞くと、ソースコードを管理するためのものというイメージが強いかもしれませんが、
ソースコードだけでなく、設計書・手順書といったドキュメントや、
画像等のバイナリファイルも管理対象とすることができます。
Gitとは?
Gitは、もともとLinuxカーネルのソースコードを
バージョン管理するためのツールとして作られたバージョン管理システムです。
Git以前から存在していたSubversion等のバージョン管理システムとの大きな違いは、
「分散バージョン管理システム」だという点です。
SubversionとGitの違いを図に示します。
ソースコードのバックアップ(ファイルとフォルダ)や、変更履歴等をまとめたものをリポジトリと呼びますが、
Gitでは、共同リポジトリに対して複数人が読み書きするのではなく、
個々人のリポジトリに対して変更を加えてから、
共同リポジトリに反映させる仕組みになっています。
GitHubとは?
GitHubは、設計図を公開・共有できるサイト Gitのリモートリポジトリをホスティングするサービスです。
Microsoft社に買収されてから、制限はあるものの、
無償でプライベート(非公開)なリポジトリも作成することができるようになりました。
ポリシー上の問題等で、クラウドサービスにソースコードを上げることができない場合は、
GitHub Enterpriseというセルフホスト型のソフトウェアを利用することもできます。
GitHubのアカウントを作ってみる
とりあえず、 GitHub.com にアクセスしてみます。
すると、ページの右上の方に、サインアップ(ユーザー登録)するためのフォームがあるので、
必要事項を入力して、
Sign up
ボタンをクリックします。CAPTCHAを解いて、人間であることを証明しましょう。
アンケートに答えながら、GitHubからEメールが届くのを待ちます。
GitHubからメールが届いたら、
Verify email address
をクリックします。Skip this for now
をクリックして、トップページに移動します。ひとまずGitHubアカウントを作成することができました。
続いて、GitHubが公式に配布している便利なGUIクライアントアプリケーションがあるので、それをインストールしていきます。
GitHub Desktopをインストールする
まず、 GitHub Desktop のページを開きます。
ページの真ん中にあるDownloadボタンをクリックして、
インストーラーをダウンロードします(アクセスしているPCに依って、OS名は切り替わるはずです)。
ダウンロードしたインストーラーを開いて暫くすると、
Welcome to GitHub Desktop
と書かれた画面が表示されるので、Sign in to GitHub.com
をクリックします。ブラウザが開くので、GitHubにサインアップした際に登録した認証情報を入力します。
アプリを認可するために、 Authorize desktop をクリックします。
GitHub Desktopが開くので、登録されている情報が正しいか確認して進むと、
Let's get started!
画面が表示されます。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
をクリックします。画面が切り替わり、
Current repository
に guacamole-on-docker-containers
と表示されていることを確認します。一番左側のパネルのタブを
Changes
から History
に切り替えると、リポジトリのこれまでの変更履歴が確認できます。
一番左側のパネルの
Current repository
をクリックすると、ローカルにあるリポジトリの一覧が表示されます。右クリックメニューから、リポジトリをエクスプローラーで開いたり、Visual Studio Codeで開いたりできます。
まとめ
本記事では、バージョン管理システムの役割や、代表的なバージョン管理サービスであるGitHubについて簡単にご紹介しました。
今後も、GitHubのリポジトリにソースコードや手順をまとめつつ、
GitHubの特徴的な機能であるPull Requestの使い方や、GitHub ActionsによるCI/CDなど、より深い部分についてもご紹介できればと考えています。
このブログで参照されている、 Git は、米国およびその他の国における Software Freedom Conservancy, Inc. の商標または登録商標です。
このブログで参照されている、 GitHub は、米国およびその他の国における GitHub Inc. の商標または登録商標です。
このブログで参照されている、DockerおよびDocker Composeは、米国およびその他の国における Docker Inc. の商標または登録商標です。
このブログで参照されている、Microsoft、Windows、その他のマイクロソフト製品およびサービスは、米国およびその他の国におけるマイクロソフトの商標または登録商標です。