プログラミングマガジン

プログラミングを中心にIT技術をできるだけわかりやすくまとめます。

  • ホーム
  • Git
  • 【Git】「リモートリポジトリ(GitHub等)」、「Bitbucket」の概要、GitH…
 
 
     
  • サーバー言語  
    • Ruby
    • PHP
    • SQL
  •  
  • インフラ  
       
    • AWS
    •  
    • 基本
    • Git
  • Web
       
    • Web開発
    • JavaScript
    • Vue.js
    • React
  •  
  • 設計  
       
    • 実装設計
    • DB設計
  • 問い合わせ
  

【Git】「リモートリポジトリ(GitHub等)」、「Bitbucket」の概要、GitHubの認証、GitHub Actions

07.29

  • miyabisan2
  • コメントを書く

この記事は4分で読めます

リモートリポジトリ(中央リポジトリ)とは?

Git等の分散型のバージョン管理システムを使う際に、皆がアクセスすることができるリポジトリのことでインターネット上の共同作業を可能にします。通常は、GitHubや、Bitbucket等のホスティングサービス上(クラウド上)に配置して使うことになります。

また、様々なOSS(オープンソースソフトウェア)の開発に参加したり、設計やソースコードを確認したりできます。(例えば、Git自体もGitHub上のリポジトリで開発されているOSSの一つです。)

代表的なホスティングサービス

ホスティングサービス 特徴
GitHub 無料で公開リポジトリを作成することができます。
Bitbuckert 5ユーザーまで、非公開のリポジトリを何個でも作ることができます。

GitHub

本社はアメリカにありますが、2015年に日本法人が立ち上がり、2019年現在は世界中で3000万人以上の開発者に利用されています。

有料プランでないと利用できる機能に制限がつきますが、ほとんどの機能は無料プランで使うことができます。(例えば、以前はプライベートのリモートリポジトリが有料でしたが、2019年には無料で作れるようになっています。)

ホスティングサービスでできること

  • 世界中のエンジニアや、デザイナーが書いたソースコードを見ることができます。
  • お互いのソースコードをレビューしあえる。
  • 誰でも、無料で何個でも、公開リポジトリを作ることができます。
  • また、「GitHub」は社内サーバーに構築して、社内のみしかソースを見れないようにすることも可能です。
  • ブラウザから扱えるのでGitに不慣れでも利用しやすい。

GitHubの功績

GitHub登場後は一般のエンジニアでもオープンソースソフトウェアの開発が気軽に行えるようになりIT業界が活性化しました。

GitHubの認証方式

GitHubには下記2つの認証方式があります。

  • HTTPSプロトコルによるユーザー名、パスワードを用いたユーザー認証
  • SSHプロトコルと公開鍵を用いたサーバー認証

HTTPSによる認証

毎回アクセスするのにユーザー名とパスワードを入力しなければならない。

SSHによる認証

メリット

  • 設定が必要になるが、コマンドラインでの接続になるのでユーザー名、パスワードをいちいち入力する必要がない。
  • HTTPSに比べるとデータ転送が速く行える。

SSH公開鍵の作成手順

1.SSH Keyを作成する。

1
ssh-keygen -t rsa -b 4096 -C "自分のメールアドレス"

パスフレーズ(パスワードのようなもの)を2回入力します。

2.公開鍵ができている。

おそらくホームディレクトリとかに.ssh/id_rsa.pubというファイルが作成されていると思いますのでそれが公開鍵になります。

その鍵をGitHubに登録すればSSHを用いたサーバー認証を行うことが可能です。

GitHubに登録後の接続確認

下記コマンドを実行して公開鍵作成時に入力したパスフレーズを入力します。

1
ssh -T git@github.com

下記のような形で表示されたら認証は正常に完了していることになります。

Github Actions

特徴

GitHubの操作をトリガー(pushやmerge)にしてワークフローを実行することが可能。

GitHub Actionsが仮想マシンを立ち上げてワークフローを実行します。

仮想マシンはさまざまなOSを利用できます。Linux(Ubuntu)、Windows、Macなど。(MacやWindowsを使うと料金が高いので基本的にはLinuxを使うことが多いでしょう)

ディレクトリごとに実行できる。

料金体系

使った分数によって料金が計算されたりします。なお、使っているOSによって分数の係数が異なります。(MacOSが一番係数が高くすぐ消費してしまいます。)

パブリックリポジトリ

完全無料で利用できます。

プライベートリポジトリ

月2000分の無料枠が与えられます。それを超える場合は有料です。

実装

構成

プロジェクト配下に以下のようなymlファイルを配置します。ファイル名は自由です。

1
.github/workflows/{ファイル名}.yml

そうすると、GitHubはこれはGitHub Actionsで使うワークフローだと自動的に認識してくれます。

実装

name

GitHubリポジトリに表示される名前です。

on

必須項目です。ワークフローをいつ(push、pullなど)実行するか。複数イベントを指定できます。

jobs

好きなジョブ。デフォルトではジョブは並行に実行されます。ただ、順次実行することも可能です。

runs-on

jobごとに必要でjobが実行される仮想マシンを指定します。

steps

ジョブで何を行わせるかを記述。基本的にはstepsの中では「uses」か「run」のどちらかを使っていく。

uses

レポジトリを指定するとアクションが実行される。「ユーザー名/アクション名」として指定(例えば、「ruby/setup-ruby」だったらrubyというユーザーのsetup-rubyというアクションを実行する。)

ただ、レポジトリの探し方はちゃんと確立されていないみたいなので苦労する。

run

コマンドをそのまま書く。

実行結果の確認

GitHubのActionsというタブで実行結果の確認ができます。

Bitbucketとは?

アトラシンが提供するGitの中央リポジトリとして動作させるためのホスティングサービスです。

Bitbucketの特徴

  • 同じアトラシン製品である「SouceTree」との連携が得意
  • 5ユーザーまで非公開リポジトリを何個も作ることができます。

Bitbucketに、自分のアカウントで「リモートリポジトリ」を作成する。

1.下記のBitbucketの公式サイトにアクセスして、「Get started for free」を選択します。

https://bitbucket.org/product

2.Bitbucketにアカウント登録をします。

3.Bitbucketのアカウントを作成します。

4.下記のように、Bitbucketのアカウントが作成されるので、「リポジトリ」をクリックします。

5.「リポジトリの作成」をクリックします。

6.リポジトリ名を入力して、「リポジトリの作成」をクリックします。

7.これで、自分のアカウントのリモートリポジトリが作成されました。

作成したリモートリポジトリをクローンする。

1.「ソース」→「クローンの作成」をクリックします。

2.「Clone in Sourcetree」をクリックします。

3.「URL:sourcetree Protocolを開く」をクリックします。

4.ATLASSIANの認証が求められるので、認証します。

5.ローカルのSourceTreeが開くので、「クローン」をクリックします。

6.下記のように、先ほど作成したリモートリポジトリがSourceTreeで接続できていることを確認できます。

スポンサーリンク
  • 2018 07.29
  • miyabisan2
  • コメントを書く
  • Git
  • Tweets Twitter
  • このエントリーをはてなブックマークに追加
  • LINEで送る

関連記事

  1. 2019 11.21

    【Git】コンフリクトに関する知識

  2. 2019 11.18

    【Git】Gitの基本、Gitの設定

  3. 2019 11.20

    【Git】マージに関する知識

  4. 2019 11.18

    【GIt】よく使うコマンド一覧

  5. 2020 03.07

    【Git】スタッシュについて

  6. 2020 03.04

    【Git】ファイルへの変更を取り消す

  • コメント ( 0 )
  • トラックバック ( 0 )
  1. この記事へのコメントはありません。

  1. この記事へのトラックバックはありません。

返信をキャンセルする。

【SourceTree】「リポジトリ」を作成してコミッ…

【Docker】「Docker Compose」の概要

RETURN TOP

著者プロフィール

エンジニア歴10年で過去に業務系、Webデザイン、インフラ系なども経験あります。現在はWeb系でフロントエンド開発中心です。

詳細なプロフィールはこちら

スポンサーリンク

カテゴリー

  • Android
  • API
  • AWS
  • C++
  • CSS
  • C言語
  • DDD
  • DevOps
  • Django
  • Docker
  • Git
  • GitLab
  • GraphQL
  • Hasura
  • Java
  • JavaScript
  • Kubernetes
  • Laravel
  • linux
  • MySQL
  • Next.js
  • nginx
  • Node.js
  • NoSQL
  • Nuxt.js
  • Oracle
  • PHP
  • Python
  • React
  • Redux
  • Rspec
  • Ruby
  • Ruby on Rails
  • Sass
  • Spring Framework
  • SQL
  • TypeScript
  • Unity
  • Vue.js
  • WebRTC
  • Webサービス開発
  • Webデザイン
  • Web技術
  • インフラ
  • オブジェクト指向
  • システム開発
  • セキュリティ
  • その他
  • データベース
  • デザインパターン
  • テスト
  • ネットワーク
  • プログラミング全般
  • マイクロサービス
  • マイクロソフト系技術
  • マルチメディア
  • リファクタリング
  • 業務知識
  • 設計
  • 関数型言語
RETURN TOP

Copyright ©  プログラミングマガジン | プライバシーポリシー