美文网首页
linux的git服务器和本地git客户端搭建

linux的git服务器和本地git客户端搭建

作者: Tsnow308 | 来源:发表于2018-10-20 23:48 被阅读86次

    一:Git 服务器配置命令
    1.安装git 或者升级git
    sudo apt-get install git
    sudo apt-get install git

    2.服务器git版本
    git —version

    创建git仓库
    mkdir <工程名>.git
    进入到该目录下,初始化git repository
    cd <工程名>.git
    git --bare init

    3.远程仓库的地址一般组成的格式是:
    <用户名>@<服务器地址>:<仓库全路径>
    仓库全路径这个也不难理解,直接在<工程名>.git目录下输入pwd,获取<工程名>.git的全路径。
    那么例如整个远程仓库的地址就是:
    git@120.21.11.21:/home/git/gitRepository/pythonServer/project.git

    6.本地仓库与远程仓库绑定
    故名思议,就是让本地的git仓库和远程的git仓库进行绑定。这里需要用到的是之前记下来的远程仓库的地址,也就是
    root@120.21.11.21:/home/git/gitRepository/pythonServer/project.git
    命令行的绑定方式是:

    git remote add origin git@120.21.11.21:/home/git/gitRepository/pythonServer/project.git

    7.生成客户端ssh公钥git的远程推送功能需要用到ssh协议,linux自带ssh工具,可以很方便地满足我们的需求。
    首先确认一下客户端本地是否已经存在ssh的公钥,可以直接输入

    cat ~/.ssh/id_rsa.pub
    如果返回了一串以ssh-rsa开头的字符串的话则说明之前已经存在公钥了,可以直接将这一串字符串复制下来。如果该条命令提示文件不存在或者是返回值为空的话,则需要创建公钥,只需要在命令行输入:
    ssh-keygen
    默认直接按回车,就会自动在~/.ssh/ 目录下创建id_rsa.pub,并且生成公钥,此时再用上面的方法,复制公钥。

    8.服务端授权ssh公钥接下来要做的是将客户端的公钥注册到服务端中,打开服务端控制台,输入:

    cat "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC9+VK1abwzJg+VjxGwpwKnsYU3eBEjXolQKUfKxEAMO9DREvdFrvIF5KhBE9HJTp7CEFcAfgP6xkJdxchQcEUyPyda9mIz6M4OOeuuLcxJcrqqJWTN0Jj78I/kDUZUJZF7bcV4q0CyeZG1fo5ckjxOmFaYkCGcq8vmeuFySFpco71UMkudzclrtGa53AvfmuOP1u96CEud78p2gYrPP5qr9ZYBNM+E290ddGMV61rnEiL7taAsXMGpuCQSbI0/zBJ3YXvN/lJSOVHFSeMFbKv7WDSJFSiBVHXjtcDa5RvzzWaFMBV8+SW4zluhijp6Dvb7pHBaLhLg/JvOixmR1/or OboBear" >> ~/.ssh/authorized_keys
    这双引号里面一大串的就是你之前复制的公钥,整句命令所做的事情就是将客户端的公钥添加到服务端的ssh授权表中。

    9、实现自动同步到站点目录(www)
    就比如刚才我们往远程仓库推送了index.php文件,虽然提示推送成功,但是我们现在在服务器端还看不到效果,心理总是不爽。又比如我写了个html页面,我想在站点中马上看到,那自动同步就派上用场了。
    自动同步功能用到的是 git 的钩子功能,
    服务器端:进入裸仓库:/home/testgit/sample.git
    cd /home/testgit/sample.git
    cd hooks
    //这里我们创建post-receive文件
    vim post-receive
    //在该文件里输入以下内容

    !/bin/bash

    git --work-tree=/home/www checkout -f
    //保存退出后,将该文件用户及用户组都设置成git
    chown git:git post-receive
    //由于该文件其实就是一个shell文件,我们还应该为其设置可执行权限
    chmod +x post-receive

    二:git 本地配置命令
    1.安装git
    检测是否安装git:git --version
    debian系列安装命令:sudo apt-get install git
    windows系列:一键安装msysgit
    2.创建用户
    git config --global user.name "name"
    git config --global user.email "email@xx.xxx"
    3.创建并初始化一个空仓库
    mkdir warehouse_name //新建文件夹作为仓库
    cd warehouse_name //进入文件夹
    git init //初始化为仓库,自动生成.git
    4.提交文件到仓库
    git add file1 file2 ... //将文件放入缓冲区
    git commit -m "提示信息" //将缓冲区的文件全部提交到仓库,-m后加提示信

    git status //查看缓冲区状态
    git diff //查看更改的内容
    5.版本回退
    git log 或 git log --pretty=oneline //查看历史版本
    git reset --hard HEAD^ //相对于当前版本的回退,其中HEAD表示当前>版本,HEAD表示上一版本,HEAD^表示上上版本,以此类推
    git reset --hard commit_id //指定commit_id的版本回退,commit_id为文件hash值,可只写几位
    git reflog //显示历史输入命令
    6.小结
    刚初始化产生.git文件夹实质是版本库
    add就是把工作区的文件添加到版本库中的缓存区(stage),commit就是将缓存
    区(stage)中的文件放进master区中并清空缓存区(stage)
    7.撤销操作和删除操作
    git checkout -- filename //若缓存区有文件,则撤销到缓存区文件,若没
    有,则回到当前版本库HEAD相同状态,若已经提交版本库,则参考版本回退
    git reset HEAD filename //把缓存区的修改撤销掉,重新放回工作区
    git rm & git commit //删除版本库里的文件并更新

    本地git生成公钥
    ssh-keygen -t rsa //生成key证书公钥私钥 一路回车就ok了 cat .ssh/id_rsa.pub //打开公钥

    相关文章

      网友评论

          本文标题:linux的git服务器和本地git客户端搭建

          本文链接:https://www.haomeiwen.com/subject/nwsvzftx.html