发布于 2026-01-06 1 阅读
0

开源:多分支和 Git 合并

开源:多分支和 Git 合并

本周,我练习了使用 git 同时管理一个项目中的多个更改以及使用 git merge,因此我将在我的步骤中介绍这些内容。

添加新功能和示例

上周我的合作伙伴修改了我的 SSG,我合并了这些修改。
这次,我独立实现了以下两个功能。

1. 添加可选的 -l 或 --lang 参数,用于指定在根元素上生成 lang 属性时要使用的语言。

输入:$node pajama-ssg -i test.txt -l ja在命令行中
生成:<html lang="ja">标签
图像

2. 在 Markdown 中添加对水平线的支持

在 .md 文件(例如 test.md)中添加 3 个连字符 (---)。在命令行中 输入: 生成:标签
图像
node pajama-ssg -i test.md
<hr />
图像

创建分支

首先,我创建了两个新的主题分支用于更新。第一个是#issue-17,第二个是#issue-18
其次,我使用 `git commit` 命令检查我是否在主分支上$ git checkout
当我在新分支上工作并切换到该分支时,我使用了$git checkout -b issue-17`git commit (issue-18)` 命令。
在实现并测试完该功能后,我再次使用 `git commit` 命令检查了哪些文件未暂存以及哪些文件处于未跟踪状态。然后,我添加了更新后的文件,并使用`git commit` 和 ` $git statusgit commit` 命令提交了更改$git add .\pajama-ssg.js$ git commit -m "add language feature"

是时候合并了!

我实现了新功能,并提交了这两个问题的更改。我使用命令合并了它们$git merge issue-17
结果显示合并成功,所以我再次确认$git log合并是否正确。

PS C:\Users\Mizuho\desktop\OSD600\pajama-ssg> git merge issue-17
Updating 3f1d71d..45e4957
Fast-forward
 pajama-ssg.js | 13 ++++++++-----
 1 file changed, 8 insertions(+), 5 deletions(-)
PS C:\Users\Mizuho\desktop\OSD600\pajama-ssg> git log
Author: MizuhoOkimoto <54873998+MizuhoOkimoto@users.noreply.github.com>
Date:   Thu Sep 30 17:12:16 2021 -0400

    add language feature
commit 3f1d71dc07547f8fcacba9d3f4d3dd9bf2b3d926 (origin/main, origin/HEAD)
Merge: e7e77b0 e725a62
Author: MizuhoOkimoto <54873998+MizuhoOkimoto@users.noreply.github.com>
Date:   Fri Sep 24 13:53:08 2021 -0400

    Merge branch 'issue-5' into main
Enter fullscreen mode Exit fullscreen mode

将我的主分支推送到 GitHub

我合并了这两个更新,然后切换到我的主分支,并将合并推送到 GitHub 并测试了主分支。

PS C:\Users\Mizuho\desktop\OSD600\pajama-ssg> git push origin
Enumerating objects: 11, done.
Counting objects: 100% (11/11), done.
Delta compression using up to 8 threads
Compressing objects: 100% (9/9), done.
Writing objects: 100% (9/9), 1.11 KiB | 567.00 KiB/s, done.
Total 9 (delta 7), reused 0 (delta 0)
remote: Resolving deltas: 100% (7/7), completed with 2 local objects.
To https://github.com/MizuhoOkimoto/pajama-ssg.git
   3f1d71d..9f8b2dc  main -> main
Enter fullscreen mode Exit fullscreen mode

关闭问题#17和问题#18

最后,我关闭了GitHub仓库中的这两个问题。关闭时,我添加了注释Closed by 45e4957(例如,问题#18是Closed by 9f8b2dc……)。通过提及这些编号,我可以通过点击相应的编号来查看该文件与哪个代码合并了。

结论

通过这次实验,我实际操作学习了如何在项目的并行分支上工作。我觉得这项技能对于将来参与开源项目或与多人合作项目都非常重要。

链接

项目仓库:https://github.com/MizuhoOkimoto/pajama-ssg问题
URL:issue-#17issue-#17
合并提交 URL 45e4957,9f8b2dc

天气越来越冷了,希望你注意保暖😊🍀

文章来源:https://dev.to/okimotomizuho/open-source-multiple-branches-and-git-merges-2f69