搭建git内部服务器
– 服务器端(虚拟机) –
1) 安装openssh-server ssh服务
>>> sudo apt-get install openssh-server
2)创建git用户,确定home路径
>>> sudo useradd -d /home/git -m git
>>> sudo password git
>>> su git
添加用户 useradd
-d:指定用户目录
-m:如果目录不存在则创建
3) 在git的home创建git项目存在的目录例如:repo
>>> mkdir repo
4) 在repo创建git的仓库
>>> git init --bare swiper.git # swiper.git 名字自己起
– 通过ssh连接的远程端 –
----------- 不同组在远程仓库repo 中创建自己的远程仓
在开发环境下连接
>>> ssh git@10.12.152.89
创建自己组在服务器端的远程 git仓库
>>> cd repo 进入仓库目录,这里面可以创建多个仓库
>>> git init --bare mygit.git 创建自己的个人远程仓
############# 组长在本地的仓库:mygit
############# 组员在本地的仓库:newgit
– 组长客户端窗口 –
cd 切换到一个新建的目录做仓库目录
>>> mkdir mygit
>>> cd mygit
>>> git init 初始化本地仓
** 提交代码测试 **
>>> git add 文件
>>> git commit -m '提交记录'
>>> git log 查看提交日志
>>> git status 查看提交状态
本地上传后,提交到远程仓库
添加一个远程仓库的位置 (swiper.git指定仓库名,可选择)
git remote add origin git@10.12.152.89:repo/swiper.git
推送本地代码code到远程仓库中
git push -u origin master # 第一次提交要加 -u
git push origin master # 之后提交用再加
– 回到ssh连接的远程端 –
>>> cd swiper.git
>>> ls 看不到提交上来的东西
>>> git log 查看计较日志有记录即可
– 组员操作 –
新建一个cmd 窗口
>>> cd 切换到一个新建的目录做仓库目录
>>> mkdir newgit
>>> cd newgit
>>> git clone git@10.12.152.89:repo/swiper.git
>>> cd swiper 进入仓库
>>> git log
>>> vim xxx
>>> git add xxx
>>> git commit -m '***'
>>> git push origin 不执行上传这一步,远程仓库中是查不到提交日志的
>>> git pull 更新本地仓
=========== 实现免密 ===========
– 进入git bash 环境下 –
>>> cd ~/.ssh
>>> ls
>>> cat known_hosts 已连接过的服务器的公钥
id_rsa 私钥
id_rsa.pub 公钥
如果 私钥、公钥不存在 生成
>>> ssh-keygen
如果存在不需要再执行 ssh-keygen
上传公钥到服务器
>>> cp id_rsa.pub id_rsa_dcx.pub
>>> scp id_rsa_dcx.pub git@10.12.152.89:~
– 回到ssh连接的远程端 –
>>> cd ~
>>> ls
>>> mkdir .ssh
>>> cat id_rsa_disen.pub > .ssh/authorized_keys
— 打开一个新的终端重新连接进行免密验证 —
>>> ssh git@10.12.152.89
+++ 若不输入密码直接进入则成功实现免密 +++