本地服务器搭建一个git仓库

首先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

就可以了


猜你喜欢

转载自blog.csdn.net/WKissa/article/details/79894874