返回介绍

第 49 关 stage_lines

发布于 2025-01-03 23:42:51 字数 1131 浏览 0 评论 0 收藏 0

You've made changes within a single file that belong to two different features, but neither of the changes are yet staged. Stage only the changes belonging to the first feature.

你修改了一个文件的多处代码,这些代码分属于 2 个不同的功能,代码还没有提交到暂存区。仅提交第 1 个功能相关的代码到暂存区。

git add 命令可以把文件添加到暂存区,但如果你不想把文件中的全部修改都提交到暂存区,或者说你只想把文件中的部分修改提交到缓存区,那么你需要加上 edit 参数:

$ git add your-file --edit

这时 Git 会自动打开文本编辑器,编辑的内容就是 git diff 命令的结果,这时你就可以编辑 2 个文件之间的差异,只保留要提交到暂存区的差异,而删除不需要提交到暂存区的差异,然后保存退出,Git 就会按你编辑过的差异把相应的内容提交到暂存区。

比如本关,文件的差异为:

$ git diff feature.rb
diff --git a/feature.rb b/feature.rb
index 1a271e9..4a80dda 100644
--- a/feature.rb
+++ b/feature.rb
@@ -1 +1,3 @@
 this is the class of my feature
+This change belongs to the first feature
+This change belongs to the second feature

从最后 2 行可以看出,新增的代码分别对应 2 个不同的功能,如果我们只想提交第 1 个功能的代码,删除掉最后一行即可。

第 49 关过关画面如下:

第 49 关 stage_lines

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文