ドキュメントには頻繁に更新が加えられ、その都度公開されています。本ページの翻訳はまだ未完成な部分があることをご了承ください。最新の情報については、英語のドキュメンテーションをご参照ください。本ページの翻訳に問題がある場合はこちらまでご連絡ください。

このバージョンの GitHub Enterprise はこの日付をもって終了となります: このバージョンの GitHub Enterprise はこの日付をもって終了となりました: 2020-05-23. 重大なセキュリティの問題に対してであっても、パッチリリースは作成されません。 パフォーマンスの向上、セキュリティの改善、新機能のためには、最新バージョンのGitHub Enterpriseにアップグレードしてください。 アップグレードに関する支援については、GitHub Enterprise supportに連絡してください。

記事のバージョン: Enterprise Server 2.17

Subversion クライアントのサポート

GitHub リポジトリは、Git および Subversion (SVN) クライアントの両方からアクセスできます。 この記事では、GitHub 上での Subversion の使用および経験する可能性のあるいくつかの主な問題を取り上げます。

ここには以下の内容があります:

GitHubは、HTTPS プロコトルを介して Subversion クライアントをサポートします。 GitHub に svn コマンドを伝えるには、Subversion ブリッジを使います。

GitHub 上でサポートされる Subversion の機能

チェックアウト

最初に Subversion チェックアウトを行いましょう。 Git クローンは、ワーキングディレクトリ (ファイルを編集する場所) をリポジトリデータと分けたままにします。そのため、この時点でワーキングディレクトリにはブランチが 1 つしかありません。

Subversion チェックアウトは違います。ワーキングディレクトリのリポジトリデータをミックスします。そのため、チェックアウトしたブランチおよびタグごとにワーキングディレクトリがあります。 たくさんのブランチとタグがあるリポジトリには、すべてをチェックアウトすることは帯域障害になる可能性があります。よって、部分的なチェックアウトから始めた方がよいです。

  1. GitHub Enterpriseで、リポジトリのメインページにアクセスしてください。

  2. リポジトリ名の下でClone or download(クローンもしくはダウンロード)をクリックしてください。

    Clone or downloadボタン

  3. HTTPSを使ってリポジトリをクローンするには、"Clone with HTTPS(HTTPSでクローン)"の下でをクリックしてください。 リポジトリをSSHキーを使ってクローンするには、Use SSH(SSHを利用)をクリックし、続いてをクリックしてください。

    クローンURLボタン

  4. リポジトリのエンプティチェックアウトをします:

    $ svn co --depth empty https://github.com/user/repo
    > Checked out revision 1.
    $ cd repo
  5. trunk ブランチを取得します。 Subversion ブリッジマップは、Git の HEAD ブランチ (一般的には master) に trunk します。

    $ svn up trunk
    > A    trunk
    > A    trunk/README.md
    > A    trunk/gizmo.rb
    > Updated to revision 1.
  6. branches ディレクトリのエンプティチェックアウトを取得します。 ここは、すべての HEAD でないブランチが存在し、かつ、フィーチャブランチを作成する場所です。

    $ svn up --depth empty branches
    Updated to revision 1.

ブランチを作成する

Subversion ブリッジを使って GitHub にブランチを作成することもできます。

svn クライアントから、trunk を更新して「master」が最新であることを確認します。

$ svn up trunk
> At revision 1.

次に、svn copy を使用して新しいブランチを作成できます:

$ svn copy trunk branches/more_awesome
> A    branches/more_awesome
$ svn commit -m 'Added more_awesome topic branch'
> Adding    branches/more_awesome

> Committed revision 2.

リポジトリのブランチドロップダウンに新しいブランチが存在することを確認できます:

ブランチスナップショット

コマンドラインで新しいブランチを確認することもできます:

$ git fetch
> From https://github.com/user/repo/
> * [new branch]    more_awesome -> origin/more_awesome

Subversion にコミットを作成する

いくつかの機能を追加しバグを修正した後は、GitHub にこれらの変更をコミットしましょう。 この手順は、あなたが慣れ親しんだ Subversion と非常に似ています。 ファイルを編集してから、以下のように svn commit を使って変更を記録してください:

$ svn status
> M    gizmo.rb
$ svn commit -m 'Guard against known problems'
> Sending    more_awesome/gizmo.rb
> Transmitting file data .
> Committed revision 3.
$ svn status
> ?    test
$ svn add test
> A    test
> A    test/gizmo_test.rb
$ svn commit -m 'Test coverage for problems'
> Adding    more_awesome/test
> Adding    more_awesome/test/gizmo_test.rb
> Transmitting file data .
> Committed revision 4.

ブランチ間の切り替え

ブランチをスイッチするには、trunk のチェックアウトから始めることをお勧めします。

$ svn co --depth empty https://github.com/user/repo/trunk

次に、他のブランチにスイッチします:

$ svn switch https://github.com/user/repo/branches/more_awesome

Subversion コミットのために Git コミット SHA を検索する

Github の Subversion サーバーは、Subversion コミットのために Git コミット SHA を開示します。

コミット SHA を表示するには、git-commit のバージョンのないリモートプロパティを要求する必要があります。

$ svn propget git-commit --revprop -r HEAD https://github.com/user/repo
05fcc584ed53d7b0c92e116cb7e64d198b13c4e3

このコミット SHA によって、たとえば、GitHub 上の関連 Git コミットを検索できます。

参考リンク

担当者にお尋ねください

探しているものが見つからなかったでしょうか?

弊社にお問い合わせください