Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

How do I develop Memos|我如何开发 Memos #8

Open
chriscurrycc opened this issue Dec 28, 2024 · 0 comments
Open

How do I develop Memos|我如何开发 Memos #8

chriscurrycc opened this issue Dec 28, 2024 · 0 comments
Labels
documentation Improvements or additions to documentation

Comments

@chriscurrycc
Copy link
Owner

chriscurrycc commented Dec 28, 2024

Memos is an excellent open-source project. While contributing to open-source, I also do some personalized customization. To differentiate between personalized aspects and official Memos contributions (such as bug fixes, adding common features, etc.), I impose some constraints and explanations on the process.

There are two branches:

  • Main: My latest codebase and my personal memo system built on it.
  • Upstream: Consistent with the latest version of the official repository.

For bug fixes or common features:

  1. Checkout a development branch from upstream.
  2. After development is complete, initiate a PR to the official main branch.
  3. My personal main branch will directly merge the code of this development branch.
  4. If the PR is accepted, delete the development branch.
  5. If the PR is rejected, also delete the development branch, indicating that it is more suitable as my personalized part.

For personalized modifications, make changes directly on the main branch.

How to merge code from the official repository?

  1. After the official release of new versions (including test versions), I will merge it directly into the upstream branch.
  2. After the official release of stable version, apart from merging it into the upstream branch, I will also merge it into the main branch. For conflicting parts, I will evaluate before deciding whether to adopt them and document the decisions in issues.

This ensures that I can meet my personalization needs, contribute to the community, and benefit from community contributions.


Memos 是一个很优秀的开源项目,在参与开源贡献的同时,我也会做一些个性化的定制。为了将个性化的部分和对官方 Memos 贡献(例如修复 bug、新增一些通用 feature 等等)区分开来,我在此对流程上做一些约束和说明。

分支很简单,就两个:

  • main 分支:我的最新代码分支,我自己的系统会基于 main 的代码
  • upstream 分支:与官方仓库的最新版本代码一致

如果是 bug 修复或通用 feature:

  1. 从 upstream 切出来一个开发分支进行开发
  2. 开发完成后向官方 main 分支发起 PR
  3. 个人 main 分支会直接合并这个开发分支的代码
  4. 如果 PR 接受,删除该开发分支
  5. 如果 PR 被拒绝,也删除该开发分支,表明这个更适合作为我个性化的部分

如果是个性化修改,则直接在 main 分支上进行。

如何合并官方仓库的代码?

  1. 官方发布新版本(含测试版)代码后,我会将其直接合并到 upstream 分支
  2. 官方发布稳定版本代码后,除了合并到 upstream 分支,我还会将其合并到 main 分支,对于冲突的部分,我会评估后再决定是否采用,并记录到文档 issue 中

以上基本能保证在满足我的个性化的同时,也能参与社区贡献,以及吸收来自社区的贡献。

@chriscurrycc chriscurrycc added the documentation Improvements or additions to documentation label Dec 28, 2024
@chriscurrycc chriscurrycc pinned this issue Dec 28, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation
Projects
None yet
Development

No branches or pull requests

1 participant