首先yum安装git
yum install git
然后建立git账户
adduser git
此时在阿里云服务器的根目录:/home文件夹下新增一个文件夹git。出于安全考虑,创建的git用户不允许登录shell,这可以通过编辑/etc/passwd文件完成。
vim /etc/passwd
到类似git:x:1001:1001::/home/git:/bin/bash的配置改成
git:x:1001:1001::/home/git:/usr/bin/git-shell
然后cd ~输入命令
ssh-keygen -t rsa
进入创建好的.ssh密钥文件夹打开id_rsa.pub
cd .ssh
vim id_rsa.pub
这样就能看到你的公钥了,把所有的内容复制下来。接下来,在终端输入
cd /home/git/
进入.ssh目录吧本机密钥放进去
cd .ssh
vim authorized_keys
git已经安装并且配置好了,接下来就是搭建git本地仓库了在/var下面搭建一个仓库
cd /var
mkdir git
chown -R git:git git
chmod 777 git
cd git
然后用git命令初始化一个仓库
git init --bare test.git
chown -R git:git test.git/
然后安装一个yum安装一个openssh扩展
yum install openssh
之后找一个目录拉去git项目测试一下是否搭建好git仓库在home下创建一个test目录cd进去输入以下目录
git clone ssh://git@服务器公网IP地址/var/git/test.git
然后添加一个test.html文件输入下列命令进行提交操作
git add test.html
git commit -m "test1" -a
git push
如果成功就说明配置好了,只需要添加其它电脑的密钥在/home/git/.ssh/的authorized_keys里面就可以正常使用了
以下是报错的处理方式
git Please tell me who you are解决思路
在git创建项目时出现,
是因为在创建git文件夹的时候信息不完善导致的
下图是正确
在git创建项目时出现,
是因为在创建git文件夹的时候信息不完善导致的
git config --global user.email "你的邮箱"
git config --global user.name "你的名字"
(注意 “ 前面是有空格的)
之后进行提交操作就行了
git add test.html
git commit -m "test1" -a
git push
error: Malformed value for push.default: mytest
error: Must be one of nothing, matching, simple, upstream or current.:
解决Matching的思路
‘matching’ 参数是 Git 1.x 的默认行为,如果你执行 git push 但没有指定分支,它将 push 所有你本地的分支到远程仓库中对应匹配的分支。
Simple
而 Git 2.x 默认的是 simple,执行 git push 没有指定分支时,只有当前分支会被 push 到你使用 git pull 获取的代码
git config --global push.default matching
碰到error: failed to push some refs to ...的错误这样解决
git pull --rebase origin master 然后一路回车之后
git push -u origin master