为了在局域网内,从git客户端到git服务端,上传、下载东东,搭建次服务
系统:centos 7 git版本:git version 1.8.3.1【系统自带】
服务端环境搭建过程:
1、yum在线搭建,直到自动完成
# yum install -y git
2、创建git用户,用来运行git服务
#adduser git
3、创建存放git的目录,并初始化git仓库
# mkdir -p /data/git/
# cd /data/git/
#git init --bare one.git
这时会发现git下自动出现one.git目录,并还有其他目录
4、给目录one.git添加用户授权
#chown git:git one.git
5、在one.git目录下创建文件,输入内容进行测试
#echo “hello world" >test.txt
6、添加文件到暂存区域,#git add test.txt,在测试时遇见:fatal: This operation must be run in a work tree 报错
重新初始化路径
# cd /data/git
# git init
#git add . 再测试成功
客户端:直接安装git
1、安装git
#yum -y install git
2、链接服务端
#git clone git@服务端ip:/data/git/one.git
一般连接需要密码,但也有免密操作,如下:
1、首先在客户端用户主目录(cd ~)下,看看有没有.ssh目录,如果有,再看看这个目录下有没有id_rsa和id_rsa.pub这两个文件,如果已经有了,可直接跳到下一步。如果没有,打开Shell(Windows下打开Git Bash),创建SSH Key:
#ssh-keygen -t rsa
如果顺利的话,可以在用户主目录里找到.ssh目录,里面有id_rsa和id_rsa.pub两个文件,这两个就是SSH Key的秘钥对,id_rsa是私钥,不能泄露出去,id_rsa.pub是公钥,可以放心地告诉任何人。
2、Git服务器打开RSA认证
去Git服务器上添加你的公钥用来验证你的信息了。在Git服务器上首先需要将/etc/ssh/sshd_config中将RSA认证打开,即:
1.RSAAuthentication yes
2.PubkeyAuthentication yes
3.AuthorizedysFile .ssh/authorized_keys
我们可以看到公钥存放在.ssh/authorized_keys文件中。所以我们在/home/git下创建.ssh目录,然后创建authorized_keys文件,并将刚生成的公钥导入进去
在客户端提交时出现 error: insufficient permission for adding an object to repository database ./objects 报错
查看主要是由于权限不对:应对git库的所有者为git或者自定的
$ sudo chown -R git:git git库名
常用命令集合
git add filename
git commit -m "add a file " 添加说明
git reset --hard HEAD 退回一次:
git reset –hard HEAD^ 退一次
git checkout --filename返回 不适用
git log 查看历史记录
git config --global user.name "shulihua"
git config --global user.email "xxxxxxxxxx@qq.com"
要检查已有的配置信息,可以使用 git config --list
查看版本号:git reflog
上传修改:git push origin master