基本的にはgithubを使えば良いとは思うんですが、privateなリポジトリを作りたい時もあります。で、たまーにリポジトリ作るんですが、毎回方法をすっかり忘れてしまうのでメモ書きです。
大まかな手順は、以下の通りです。
- リモートリポジトリを作成
- ローカルリポジトリを作成
- ローカルリポジトリをリモートリポジトリに紐付け
以下が作業ログですが、umaskの設定を忘れなければハマりどころは少ない気がします。
# gitユーザとグループ作成 [admin@remote]$ adduser git [admin@remote]$ usermod -G git taichino # 自分 [admin@remote]$ usermod -G git dev1 # 他の開発者 [admin@remote]$ su - git [git@remote]$ vim ~/.bashrc # umaskを002に設定する # リモートリポジトリ作成 [git@remote]$ mkdir -p /home/git/hoge.git # リモートリポジトリ名には.gitを付ける [git@remote]$ cd /home/git/hoge.git [git@remote]$ git --bare init # ローカルリポジトリ作成とリモートリポジトリへの登録(by taichino) [taichino@local]$ mkdir hoge [taichino@local]$ cd hoge [taichino@local]$ git init [taichino@local]$ echo "Hello git project" > readme [taichino@local]$ git add readme [taichino@local]$ git commit -m "start project with git" [taichino@local]$ git remote add origin ssh://taichino@remote/home/git/hoge.git [taichino@local]$ git push origin master # cloneとpush (by dev1) [dev1@local]$ git clone ssh://dev1@remote/home/git/hoge.git [dev1@local]$ cd hoge [dev1@local]$ vim readme # 適当に編集 [dev1@local]$ git add readme [dev1@local]$ git commit -m 'modified for pull test' [dev1@local]$ git push origin master # pull (by taichino) [taichino@local]$ git pull origin master
リモートリポジトリを作る際に–bareオプションを指定すると、管理データのみ作られて編集用データは置かれません。別に必須ではないと思いますが、まぁリモートリポジトリに編集データは不要なので普通は指定しとけば良いと思います。
あと本当はssh経由では無くてgitプロトコルでアクセスしたいところですが、別に1人で使う分には問題ないのでほったらかしています。
関連する記事
タグ: git

