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

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

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

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

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

チェックアウト

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

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

  1. GitHub で、リポジトリのメインページへ移動します。

  2. Under the repository name, click Clone or download.

    Clone or download button

  3. To clone the repository using HTTPS, under "Clone with HTTPS", click . To clone the repository using an SSH key, including a certificate issued by your organization's SSH certificate authority, click Use SSH, then click .

    Clone URL button

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

    $ svn co --depth empty https://github.com/user/repo> Checked out revision 1.
    $ cd repo
  5. Get the trunk branch. The Subversion bridge maps trunk to the Git HEAD branch (which is usually master).

    $ svn up trunk
    > A    trunk
    > A    trunk/README.md
    > A    trunk/gizmo.rb
    > Updated to revision 1.
  6. Get an empty checkout of the branches directory. This is where all of the non-HEAD branches live, and where you'll be making feature branches.

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

Creating branches

You can also create branches using the Subversion bridge to GitHub.

From your svn client, make sure "master" is current by updating trunk:

$ 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/repo05fcc584ed53d7b0c92e116cb7e64d198b13c4e3

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

参考リンク

担当者にお尋ねください

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

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