GitやGitHubのコマンドを学習中に、他人に迷惑をかけずにおもいきりいろいろためしてみたいときがありますよね。また、ネットにつながらない環境でも git push とかリモート系のコマンドをいろいろためしてみたいとかもあります。
そんなとき、下記のようにするとリモートのリポジトリをネット上にもつのではなく、ローカルのディレクトリ上に作成して作業することができます。
リモートのリポジトリを作成
$ mkdir gitserver && cd $_
$ git init --bare --shared ./hello.git
Initialized empty shared Git repository in /Users/xxxxxx/gitserver/hello.git/
ローカルにクローンする
$ cd ../git/
$ git clone ../gitserver/hello.git/
Cloning into 'hello'...
warning: You appear to have cloned an empty repository.
done.
中身を見てみる
$ cd hello
$ git config --list
remote.origin.url=/Users/xxxxxx/git/../gitserver/hello.git/
$
所定のローカルのディレクトリをoriginとして参照している環境が構築できたっぽいです。一応 pushまでやってみます。
$ touch README.md && git add README.md && git commit -m 'first commit'
[master (root-commit) 324f171] first commit
1 file changed, 0 insertions(+), 0 deletions(-)
create mode 100644 README.md
$ git push origin master
Counting objects: 3, done.
Writing objects: 100% (3/3), 216 bytes | 0 bytes/s, done.
Total 3 (delta 0), reused 0 (delta 0)
To /Users/xxxxxx/git/../gitserver/hello.git/
* [new branch] master -> master
$ git branch -vv
* master 324f171 [origin/master] first commit
$ git branch
* master
$
OKそうですね。。