gitリポジトリを作ってみた時のメモ

多分忘れるけど。
ユーザーgitを作っておくとか、gitをインストールするとかの前提はだいぶすっ飛んでいます。
(bareを作るサーバー側はCentOS、 それと同期するクライアント側はwindowsのつもりです。)
上記のユーザーgitにはパスワードを設定する等して、ログインできるようにしておかないと
sshで接続する時点でその他の設定が正しくても「Permission denied (publickey).」とか言われてつながらないので注意

  • サーバー側でgitをインストール後、gitユーザーで適当にリポジトリを作る
$ cd /opt/git
$ mkdir project.git
$ cd project.git
$ git --bare init
  • つなげるクライアント側でssh-keygen等を利用してOpenSSHの鍵を作る
    • git bash等で ssh -vT ユーザー名@サーバー名 でどこのキーファイルを見に行くかメモをする
    • puttyのputtygenでもいいらしい。以下はputtygenの説明
    • SSH-2RSAタイプにしてキーを作成、できあがった時のウィンドウに表示されている「Public key for pasting into OpenSSH autorized_keys file:」の中身をコピーしてテキストにする(id_rsa.pubとか)
    • 上記ファイルをサーバ側の ~git/.ssh/authorized_keys にペーストしておく
    • Save private key で保存できるものは .ppkファイル(PuTTY用)なので、ConversionsメニューのExport OpenSSH keyで OpenSSH用のプライベートキーをエクスポートしてファイルにしておく(先に調べておいた場所のid_rsaとかにすると楽)
    • git bash等で ssh -vT git@サーバー名 で接続できるかどうかを確認する
  • リポジトリをクローンする
    • プロジェクトを置くフォルダの1個上の階層で(clone時にgitのプロジェクト名でフォルダが作られる)
$ git clone git@servername:/opt/git/project.git

だいたいこんな流れ。