小型团队的git联网

我正在尝试为我的编程团队设置git。

我的设置是:

1. example.com (Ubuntu server)
IP: 192.168.1.2 (public: xxx.yyy.yyy.zzz)
main git repository in /var/www/testgit
user: mot (root)

2. host2, Ubuntu
IP: 192.168.1.101
git clone of main repo in ~/public_html/testgit1
user: nairda

3. host3, Ubuntu
IP: 192.168.1.102
git clone of main repo in ~/www/testgit2
user: mot

4. host4, Windows Vista, Samba, msysgit
IP: 192.168.1.103
git clone of main repo in c:\shared\testgit3
user: ataga

我开始一个新的主仓库:

cd /var/www/testgit1
git init

现在,有很多问题:

我必须创建哪些组和用户? 如何设置所需的ssh密钥? (我在玩弄怪癖,但目前还没有成功。)

如何使主存储库对其他主机可见?

如何在主机上克隆此仓库?

如何将其他人的变更拉到主仓库?