目的
- gitのサーバーをたてて、ローカルリポジトリと同期する。
- ブランチの扱いになれる
全部、https://git-scm.com/doc に書いてある内容だけど、そしゃくのため。。。
手順概略
- ローカルリポジトリを作る
- コードを書く
- ローカルリポジトリにコミットする
- ローカルリポジトリからcloneする形でリモートリポジトリを作る
- リモートリポジトリをcloneする
- cloneしたローカルリポジトリにブランチを作る
- 勝手にリモート追跡ブランチが作られる
手順
【端末A】ローカルリポジトリの作成~ローカルリポジトリにコードをコミット
$ cd /home/nuuuuume
$ mkdir projectA
$ cd projectA
$ git init
$ vim hello.c
...
$ git add .
$ git commit -m "first commit"
これでhello.cがローカルリポジトリに入る
【端末A】リモートリポジトリの作成
/var/gitは適当な場所で、フォルダ構成はこの限りではないので適当に読み替えてください。
$ cd /var/git
$ mkdir repos
$ cd repos
$ git clone --bare ssh://localhost/home/nuuuuuume/projectA projectA.git
【端末B】リモートリポジトリをclone
$ cd /home/nume
$ git clone ssh://nuuuuume@<端末A>/var/git/repos/projectA.git projectA
$ cd projectA
に hello.cがcloneされてるはず。
【端末B】ローカルブランチを作ってチェックアウト
$ git checkout -b develop
On branch develop
Your branch is up to date with 'origin/develop'.
こんな感じになるはず。
リモートブランチというのは存在せず、リモート追跡ブランチというらしい。
サーバーもローカルブランチを持っていて、端末もローカルブランチを持っている。
端末のブランチを push するとリモートにもブランチが作られる。
その互いのブランチをつなぐ役割をするのがリモート追跡ブランチ、というらしい。
端末に develop ブランチがあると、リモート追跡用ブランチは origin/develop などとなるらしい。
頑張ってsvnから切り替えてこ。。。