如何发布git下的私有化项目

如何发布git下的私有化项目

流程

1. 私有项目添加远程仓库

# 添加公开仓库作为远程仓库
git remote add public-repo [开放部分远程地址]

# 验证远程仓库添加成功
git remote -v

2. 为公开的远程仓库创建特殊的分支

# 从当前分支创建发布分支
git checkout -b release-branch

# 或者从main/master分支创建
git checkout main
git checkout -b release-branch

3. 对已有的开发内容进行Squash操作,然后merge到发布分支

# 首先找到能够公开的最后一个版本(commit hash)
git log --oneline  # 查看提交历史,找到合适的公开起点

# 基于公开起点创建发布分支(替代之前的revert方式)
git checkout -b release-branch [公开起点的commit hash]

# 或者如果已经创建了release-branch,重置到公开起点
git checkout release-branch
git reset --hard [公开起点的commit hash]

# 将开发分支的内容squash合并到发布分支
git merge --squash develop-branch

# 提交汇总的更改
git commit -m "Release: 版本号 - 功能概述"

# 如果确实需要使用revert(不推荐,因为会产生反向提交)
# git revert [需要隐藏的私有提交]..HEAD --no-commit
# git commit -m "隐藏私有开发内容"

4. push

# 推送到公开仓库的发布分支
git push public-repo release-branch:main

# 或者推送到特定分支
git push public-repo release-branch:release-branch

# 如果需要打标签
git tag -a v1.0.0 -m "版本1.0.0发布"
git push public-repo --tags

完整示例脚本(修正版)

#!/bin/bash

# 设置变量
PUBLIC_REPO_URL="https://github.com/username/public-repo.git"
RELEASE_BRANCH="release-(date +%Y%m%d)"
PUBLIC_START_COMMIT="a1b2c3d"  # 替换为实际能够公开的commit hash

# 1. 添加远程仓库
git remote add public-repoPUBLIC_REPO_URL

# 2. 基于公开起点创建发布分支
git checkout -b RELEASE_BRANCHPUBLIC_START_COMMIT

# 3. Squash操作(从develop分支合并,但只包含公开内容)
git merge --squash develop

# 检查合并内容,移除敏感信息
git status
git diff --cached

# 提交公开版本
git commit -m "Release: v1.0.0 - 公开功能更新"

# 4. 推送到公开仓库
git push public-repo $RELEASE_BRANCH:main

echo "发布完成!"

更安全的替代方案

# 方案一:使用cherry-pick选择特定提交
git checkout -b release-branch [公开起点commit]
git cherry-pick [选择需要公开的提交范围] --no-commit
git commit -m "Release: 精选功能更新"

# 方案二:使用patch方式提取更改
git format-patch [公开起点commit]..develop --stdout > changes.patch
git checkout release-branch
git apply changes.patch
git add .
git commit -m "Release: 应用公开更改"

注意事项

  • 重要:发布前务必检查所有文件是否包含敏感信息(API密钥、密码、内部链接等)
  • 使用git log --oneline找到合适的公开起点commit
  • 考虑使用.gitignore.gitattributes过滤敏感文件
  • 推荐在发布前创建代码审查流程
  • 可以使用git secretgit-crypt工具管理敏感文件

这样修正后,流程更加清晰和安全,避免了revert可能带来的混淆。

一些可以提供的服务思考

一些可以提供的服务思考

技术能力

  1. 软件建模能力,完成过交易平台核心领域建模,完成过SaaS应用市场建模
  2. 软件开发能力,Go、Java、React、Python是我的常用技术栈
  3. 画过网页界面,也画过单机可运行程序
  4. 写过上位机程序
  5. 也能修改硬件程序
  6. 有一部分运维端部署的经验,Nginx,Linux,Windows Server都使用过构建系统

沟通能力

  1. 和供应商扯过皮
  2. 和开发分解过工作
  3. 和测试配和过测试,并且成功上线
  4. 和业务喝过酒,吹过牛,还能砍需求

如何用代码挣钱

  1. 卖知识
    1. 开课?
    2. 开付费渠道?
    3. 做自媒体?
  2. 卖技能
    1. 比如针对特定情况查bug
    2. 部署网络环境
    3. 甚至硬件管控?

鸿蒙读书笔记

鸿蒙读书笔记

核心系统

kernel基本定义了线程,内存,基础数据结构的公共部分

是其他组件的基石

losbase

定义了基本的信号

定义了内存运算接口

定义了内存对齐接口

定义了休眠接口

bitmap

一些bitmap的运算

bitmap的数据结构

cpup

cpu使用量统计

err

err的IO定义于,err的定义

event

系统事件定义,及调度函数

其他

一些通用的数据结构定义

例如

  • 几种常见的锁
  • NodeList
  • mux
  • 系统类型
  • 队列
  • 进程结构

Linux定时备份任务

在当前用户目录下新建一个sh

按照我的备份方式就是

tar -jPcf BackupPath.tar.gztoBackupPath

然后运行crontab -e写入

* * * * 1 sh {你sh所在的目录位置}+{你的sh文件名字全称}

保存,然后这个sh文件就会每周一执行一次

略方便

我是如何为我的博客添加SSL加密的

关于Let’s Encrypt参考:letsencrypt官网

在前辈们的辛勤劳作下,我们这些小白用户终于能够快速的自动化的申请SSL证书了。

所以申请证书只需要以下几个步骤,这里我们采用的是官方提供的sh脚本,据某些大牛说还有个更小巧的py脚本,但是我是aliyun,对这种基本都是坑:

  1. su
  2. git clone https://github.com/letsencrypt/letsencrypt
  3. cd letsencrypt
  4. ./letsencrypt-auto

继续阅读“我是如何为我的博客添加SSL加密的”

代码高亮显示:SyntaxHighlighter

插件介绍

插件名称:SyntaxHighlighter Evolved

插件作者:Viper007Bond, automattic

作者主页:http://www.viper007bond.com/wordpress-plugins/syntaxhighlighter/

插件类型:代码高亮

中文支持:支持

安装环境:WordPress2.7或以上版本,经过我自己的测试,在3.3和3.4上都可以正常运行

安装:直接在后台查找插件安装即可

[@java title=”自定义的文件名” highlight=”高亮的行”] 这里写你的代码 [/java]

去掉@就可以显示代码高亮了,很方便.