我是在Ubuntu上操作的。
安装远程登陆服务器ssh:
sudo apt-get install openssh-server
sudo service ssh start
安装git:
$ sudo apt-get install git
创建一个git用户:
$ sudo adduser git
创建公钥文件:
$ sudo mkdir -p/home/git/.ssh
$ cd /home/git/.ssh
$ sudo touch authorized_keys
将使用者的公钥id_rsa.pub追加到authorized_keys
初始化Git仓库:
创建一个目录作为Git仓库,比如/gitwork/sample.git:
$ sudo mkdir -p/gitwork/sample.git
$ sudo cd/gitwork/sample.git
$ sudo git init--bare
然后,把owner改为git:
$ sudo chown -R git:git sample.git
禁用shell登录:
出于安全考虑,创建的git用户不允许登录shell,这可以通过编辑/etc/passwd文件完成。找到类似下面的一行:
git:x:1001:1001:,,,:/home/git:/bin/bash
改为:
git:x:1001:1001:,,,:/home/git:/usr/bin/git-shell
这样,git用户可以正常通过ssh使用git,但无法登录shell,因为我们为git用户指定的git-shell每次一登录就自动退出。
添加个人信息:
$ git config--global user.name "your name"
$ git config--global user.email "your email"
克隆远程仓库:
$ git clone git@ServerIP:/gitwork/sample.git
Cloning into'sample'...
warning: You appearto have cloned an empty repository.
向仓库添加文件:
将文件复制到克隆下来的本地仓库。
git add -A
git commit -v
git push orign master
添加.gitignore:
在本地仓库中自己编写.gitignore文件,push到远程仓库。
一行一个匹配的规则。
另外git还提供一个全局的.gitignore,~/.gitignoreglobal文件,执行git config --global core.excludesfile ~/.gitignoreglobal来使得它生效。
参考: