ubuntu服务器安装git并使用

一.在ubuntu中搭建git服务器

1.安装git和openssh

sudo apt-get install git-core openssh-server openssh-client

若有问题可以先用apt-get 更新

安装成功可以用git version查看版本

2.创建git用户

sudo adduser git  安装git用户

创建ssh证书认证文件  (新建的用户可能使用不了 sudo ,需要修改配置,参考:https://www.cnblogs.com/zox2011/archive/2013/05/28/3103824.html)
sudo mkdir /home/git/.ssh
sudo touch /home/git/.ssh/authorized_keys
-- 修改authorized_keys 文件的权限,之后要对其进行修改,将用户的公共密匙,写入到这个文件中

sudo chmod 777 /home/git/.ssh/authorized_keys

二.安装git客户端

window版本下载地址https://git-scm.com/download/win

ubuntu版本安装sudo apt-get install git

安装完成之后window版本右键打开Git Bash Here,ubuntu版本直接敲命令:

ssh-keygen -t rsa生成的密钥文件window系统中在c:\user\Administrator\.ssh,该目录中将id_rsa.pub文件的内容copy到/home/git/.ssh/authorized_keys中

ubuntu系统中在/home/username/.ssh/文件夹中

cat  ./id_rsa.pub
-- 将内容追加到 /home/git/.ssh/authorized_keys 这个文件中
echo "上一步复制的公钥内容" >> /home/git/.ssh/authorized_keys
-- 修改authorized_keys文件的权限
sudo chmod 700 /home/git
sudo chmod 700 /home/git/.ssh
sudo chmod 600 /home/git/.ssh/authorized_keys
sudo chown -R git:git /home/git
sudo chown -R git:git /home/git/.ssh
sudo chown -R git:git /home/git/.ssh/authorized_keys

-- 创建一个测试的代码仓库,选择一个目录作为git仓库位置,假设是 /home/test 进入这个目录
cd /home
mkdir test
sudo git init --bare test.git
-- Git就会创建一个裸仓库,裸仓库没有工作区,因为服务器上的Git仓库纯粹是为了共享,所以不让用户直接登录到服务器上去改工作区,并且服务器上的Git仓库通常都以.git结尾。然后,把owner改为git:
sudo chown -R git:git test.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客户端

1.git服务器到本地

window系统右键Git Bash Here,ubuntu系统直接输入

git clone git@服务器ip:/home/test/test.git

此时若出现Permission denied 首先检查ssh,看ssh是否允许git用户,vi /etc/ssh/sshd_config 文件首先看AllowUsers中是否有git

如果还是不可以执行

eval `ssh-agent`和ssh-add ~/.ssh/id_rsa

2.本地到git服务器

git status 查看修改状态

git add .增加修改文件

git commit -m "上传提示"

git push 上传代码

3.其他辅助命令

git log 查看提交日志

git pull 更新代码

git branch  查看分支
git branch 分支名    创建分支
git checkout 分支名  切花分支
git checkout -b 分支名(创建并切换分支)
git merge 分支名  合并某分支到当前分支
git branch -d 分支名(强行删除 -D) 删除分支

1、退回至缓存区的coding回退
git reset [filename1]
2、会退到制定版本
git reset –hard 版本号(版本号为commit后的)

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值