一、安装 git 服务器
1、安装
$ sudo apt-get install git
2、创建git服务器管理用户
$ sudo useradd -d /home/git -m -s /bin/bash git
$ su git
3、设置SSH鉴权文件
$ sudo gedit /etc/ssh/sshd_config
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
$cd /home/git
$mkdir .ssh
$chmod 700 .ssh
$touch .ssh/authorized_keys
$chmod 600 .ssh/authorized_keys
4、初始化Git仓库
$ mkdir myreponsitory
$ cd myreponsitory
$ git init --bare prj_sample.git
$ chown -R git:git prj_sample.git
5、禁用shell登录
修改/etc/passwd, git:x:1003:1003::/home/git:/usr/bin/git-shell
二、windows git 客户端
1、下载 Git for Windows
地址:https://git-for-windows.github.io/ 安装后进入GIT BASH
2、配置用户
$ git config --global user.name "git"
$ git config --global user.email 718844826@qq.com
3、产生密钥对
$ ssh-keygen -t rsa -C "718844826@qq.com"
C:\Users\用户名\.ssh 下会多出两个文件 id_rsa 和 id_rsa.pub,上传公钥到服务器
$ ssh git@192.168.31.160 'cat >> .ssh/authorized_keys' < ~/.ssh/id_rsa.pub
4、从服务器克隆仓库
$ cd f:/work
$git clone git@192.168.31.160:/home/git/myreponsitory/prj_sample.git
5、提交代码
$ cd prj_sample
$ git add tt.c
$ git commit -m "add a test file"
git add -A 添加所有修改内容到暂存区
比较差别git diff //暂存区和工作区git diff --cached //暂存取和历史区git diff master //历史区和工作区git loggit status 查看修改了哪些内容git reset HEAD 取消增加到暂存区中的内容git reset --hard HEAD/commit_id 回滚最后一个版本git reflog 回滚到未来?git branch devgit checkout devgit branch -d devgit commit -a -m 'dev1'git merge devgit checkout 用暂存区中的内容替换工作区的内容git rm 删除工作区中文件git reset --hard HEAD/commit_id
5、gitweb
sudo apt-get install gitweb
sudo gedit /etc/gitweb.conf
$projectroot = "/home/git/myreponsitory";