サーバ側
git init コマンドで作成します。
$ git init --bare --shared endymion.git Initialized empty shared Git repository in /reposgit/endymion.git/ $ ls -a endymion.git/ . .. HEAD branches config description hooks info objects refs
- --barオプションをつけるとリポジトリ内に作業用のファイルが内部に作成されず管理用のファイルのみになります。通常はこの状態でリポジトリを作成し、作業端末にcloneして使います。
- --sharedオプションをつけると複数人で利用するモードになります(つけないとPermission deniedになる)。
作業端末側
先ほど作ったリポジトリのcloneを作成します。 書式は「git clone (リポジトリURI) (出力先ディレクトリ名)」。出力先は特に指定しなくてもOK。
$ git clone ssh://git.example.org:50022/reposgit/endymion.git endymion Initialized empty Git repository in /endymion/wingphp/.git/ warning: You appear to have cloned an empty repository. $ ls -a endymion/ . .. .git
warningは空のリポジトリだぞっと叱られているだけで、特に問題ありません。 もし何らかのエラーが出てしまう場合はサーバ側のパーミションや所有者の設定を確認、そもそも接続できない場合はこの例でいえばSSHの設定などを確認してみましょう。
リポジトリはどこに作ればいいの?
サーバでもローカルでもどこでも作成できます。
自分専用のリポジトリの場合、ローカルにリポジトリを作成し、自分のホームディレクトリなどにcloneして作業をするなんてことも可能です。この場合、ネットワークを一切介さないのでpush/pullなどの動作が極めて高速です。DropboxやGoogleDriveなどの上に作成しておけば自動的にバックアップも取られることになるのでおすすめです。
複数人で利用する場合は、前述の例の通り皆がアクセスすることができるサーバに置くことが多いでしょう。
参考
- [git] リポジトリを後から共有できるようにする : http://d.hatena.ne.jp/kuma8/20110115/1295100616
- git-init(1) Manual Page : https://www.kernel.org/pub/software/scm/git/docs/git-init.html