gitのリポジトリ作成メモ

基本的にはgithubを使えば良いとは思うんですが、privateなリポジトリを作りたい時もあります。で、たまーにリポジトリ作るんですが、毎回方法をすっかり忘れてしまうのでメモ書きです。

大まかな手順は、以下の通りです。

  1. リモートリポジトリを作成
  2. ローカルリポジトリを作成
  3. ローカルリポジトリをリモートリポジトリに紐付け

以下が作業ログですが、umaskの設定を忘れなければハマりどころは少ない気がします。

2012.10.16 修正
usermodの-aオプションが抜けていました。下記修正済みです。yamakatuさん、ありがとうございます。

# gitユーザとグループ作成
[admin@remote]$ adduser git
[admin@remote]$ usermod -a -G git taichino  # 自分
[admin@remote]$ usermod -a -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人で使う分には問題ないのでほったらかしています。

5 thoughts on “gitのリポジトリ作成メモ”

  1. [admin@remote]$ usermod -G git taichino # 自分

    でなく

    [admin@remote]$ usermod -a -G git taichino # 自分

    にしないとgitグループにしか属さなくなりませんか?

  2. もしかしたら環境のせいかもしれないですが…
    文字参照がそのまま見えてます。

    echo "Hello git project" > readme

    echo ‘Hello git project’ > readme

  3. hose さん

    ありがとうございます。
    どうもシンタックスハイライトプラグインの不具合のようです。
    別のプラグインを使用するようにしました。

Leave a Reply

Your email address will not be published. Required fields are marked *