• 在服务器上创建git仓库


    1、在服务器上创建git仓库

    选择一个创建文件夹的地方,这个地方不会将源码存放在这里,只用于版本控制

    # 创建一个专门放置git的文件夹,也可以叫其它名
    mkdir git  && cd git
    # 创建自己项目的文件夹,文件夹后面要带 .git
    mkdir my_object.git && cd my_object.git
    # 初始化
    git init --bare 
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    2、创建钩子

    将会使用post-receive钩子,更多相关的信息可以参考官方文档。

    进入到本地仓库里,使用命令

    ls
    
    • 1

    在这里插入图片描述

    3、编写post-receive

    cd hooks  
    vim post-receive  
    
    • 1
    • 2

    post-receive文件中加入以下需要同步的语句

    #!/bin/sh
    # 解释
    git --work-tree=文件映射目录 --git-dir=本地创建的git目录,后面需要加.gt checkout -f
    # 示例
    git --work-tree=/www/wwwroot/项目目录 --git-dir=/var/git/项目目录.git checkout -f
    
    • 1
    • 2
    • 3
    • 4
    • 5

    /www/wwwroot/项目目录:同步到你服务器哪个目录

    /var/git/项目目录.git:仓库地址

    4、创建用户并设置密码

    # 敲完后回车
    adduser 用户名
    # 设置上面定义的用户,并设置密码。敲完命令回车,会让你输入密码
    passwd 用户名
    
    • 1
    • 2
    • 3
    • 4

    5、获取本地的ssh-rsa

    如果这不不设置的话会每次push都会输入密码

    这次命令输入在 本地进行

    #配置一个本地git的用户名 
    git config --global user.name "xxx"
    #配置本地用户的邮箱地址 
    git config --global user.email "xxx@qq.com" 
    #邮箱就是你上面设置的那个邮箱地址
    ssh-keygen -t rsa -C xxx@qq.com 
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    之后查看公钥,目录在C:/Users/用户名/.ssh/id_rsa.pub

    # 如果使用gitbash,或者Linux系统
    cat ~/.ssh/id_rsa.pub
    
    • 1
    • 2

    6、本地的ssh公钥设置到服务器仓库

    # 切到服务器gits目录下
    cd /home/gits
    # 创建.ssh目录
    mkdir .ssh
    cd .ssh
    
    • 1
    • 2
    • 3
    • 4
    • 5

    之后创建authorized_keys文件

    # 设置.ssh 和 authorized_keys的所有者为gits
    chown -R gits:gits .ssh
    
    
    • 1
    • 2
    • 3

    7、设置仓库目录权限

    将git仓库目录(/www/wwwroot/你的目录)设成可读写的(777)

    # 这个是你之前映射的目录地址
    cd /www/wwwroot/你的目录
    chmod 777 -R * 
    
    • 1
    • 2
    • 3

    需要在映射目录创建文件夹,不然无法写入

    # 创建完目录后,设置权限
    chmod 777 -R * 
    
    • 1
    • 2

    (这一步想当重要,必须是777,否则将无法写入文件)

    8、本地项目推送

    git remote add origin ssh://gits@服务器地址:22/var/git/你的目录.git
    
    • 1

    之后使用git命令就好了

    1. 初始化本地 Git 仓库
    git init
    
    • 1
    1. 添加文件到暂存区
    git add .
    
    • 1
    1. 提交更改
    git commit -m "Initial commit"
    
    • 1
    1. 关联远程 Git 仓库
    git remote add origin https://github.com/your-username/your-repository.git
    
    • 1
    1. 推送更改到远程仓库
    git push -u origin master
    
    • 1

    9、设置多仓库同时推送

    例如,设置第二条origin

     git remote set-url --add origin git@github.com:morethink/programming.git
    
    • 1

    之后就可以同时推送了

    删除分支

    # 删除 仓库名 origin
    git remote rm origin
    
    • 1
    • 2

    同时推送

    例如,设置第二条origin

    git remote set-url --add  origin git@github.com:morethink/programming.git
    
    • 1

    之后就可以同时推送了

    删除分支

    # 删除 仓库名 origin
    git remote rm origin
    
    • 1
    • 2
  • 相关阅读:
    Python-使用openpyxl读取excel内容
    算法|每日一题|根据规则将箱子分类|注意转换数据类型
    基于RIP的MGRE实验
    Tomcat解析
    H5的基础
    Run multiple services in a container
    企业级自定义表单引擎解决方案(十四)--表单模板2
    Java高级
    Python元类(metaclass)
    【计算情与思】扫地僧、打字员、信息恐慌与奥本海默
  • 原文地址:https://blog.csdn.net/weixin_46533577/article/details/133064306