zoukankan      html  css  js  c++  java
  • git项目的某个文件夹内容作为某个分支的内容

    典型应用场景:

    前端打包后将打包的内容保存在某个分支以便自动部署。

    举例

    在如下目录中,project作为git项目根目录,dist作为子目录,在master分支中,文件结构如下,想要在某个分支(例如在deploy分支)中只保存dist的内容。

    master分支内容:

    
    project
    │   README.md
    │   file001.txt    
    │
    └───dist
    │   │   file011.txt
    │   │   file012.txt
    │   │
    │   └───subfolder1
    │       │   file111.txt
    │       │   file112.txt
    │       │   ...
    │   
    └───folder
        │   file021.txt
        │   file022.txt
    

    想要deploy分支内容

    file011.txt
    file012.txt
    

    操作如下

    cd dist
    
    git init // 给dist文件夹创建仓库
    git add -A
    git commit -m 'deploy'
    
    git push -f url master:deploy // url:推送的仓库地址,master:deploy是将本地的master分支推送到仓库的deploy分支
    
    

    操作后就把dist内容强行推送给了deploy分支

    服务端更新代码

    切换到deploy分支,再git pull 没办法将新内容合并,因为没有相同的历史节点,但这儿根本就不需要合并,只需要最新的分支代码即可。
    可以在deploy使用 git fetch && git reset --hard origin/deploy,获取最新代码。

  • 相关阅读:
    学习笔记
    js闭包
    一个非必现问题的定位和反思
    C语言的设计模式面向对象机制的实现(一)
    多线程和单线程的执行效率问题
    python 多态
    C语言的设计模式接口隔离
    构建表达式二叉树
    C语言的设计模式依赖倒置
    C语言的设计模式单一职责
  • 原文地址:https://www.cnblogs.com/gsgs/p/14959172.html
Copyright © 2011-2022 走看看