RError.com

RError.com Logo RError.com Logo

RError.com Navigation

  • 主页

Mobile menu

Close
  • 主页
  • 系统&网络
    • 热门问题
    • 最新问题
    • 标签
  • Ubuntu
    • 热门问题
    • 最新问题
    • 标签
  • 帮助
主页 / 问题 / 1597054
Accepted
Alex ABeeS
Alex ABeeS
Asked:2024-10-18 04:33:08 +0000 UTC2024-10-18 04:33:08 +0000 UTC 2024-10-18 04:33:08 +0000 UTC

git中commit的逐步形成

  • 772

分享您如何为 Git 创建提交的经验。有时我会做一件事,同时纠正或补充一些东西(例如,在类型上)。如果不要忘记所有这些编辑并将它们写在提交中,那就太酷了。但有时我会忘记一些欺诈行为及其本质,即使显示了修改后的文件。我试图把它写在笔记本上,然后从那里复制,但不知怎的,它没有意义,就好像它是南方古猿一样。也许有一个命令来存储正在出现的提交。

git
  • 3 3 个回答
  • 61 Views

3 个回答

  • Voted
  1. Best Answer
    user7860670
    2024-10-18T05:57:15Z2024-10-18T05:57:15Z

    在工作开始时,甚至在进行更改之前,立即创建一个带有消息的空提交模板,以便立即概述工作向量是有意义的。

    git commit --allow-empty -m "my commit"
    

    然后,在进行编辑时,逐步补充它、编辑消息等。当您执行此命令时,将打开一个文本编辑器,您可以在其中编辑所有内容。

    git commit --amend
    
    • 3
  2. αλεχολυτ
    2024-10-18T17:46:28Z2024-10-18T17:46:28Z

    当您希望在记事本中写下一些内容并稍后添加,而不将其与主要任务混合时,那么,当然,您不能不将其除以提交。这可以通过不同的方式解决,例如:

    • 将应该写在记事本中的修复放在索引中,然后继续处理主要任务。要将更改部分(逐块)放入索引中,有一个命令git add -p。它既可以为单个文件调用,也可以为一组文件调用。例如,要影响当前文件夹中的所有文件,您可以执行以下操作git add -p .。这将导致交互式选择要添加到索引的修改文本块。该模式下有多种选择:

      • 添加一个块并继续下一个块或停在那里
      • 将块分解成更小的块
      • 跳过该块并继续查看下一个块
      • ETC。

    之后,您可以根据索引中的数据创建提交git commit -m "Some other changes beside main job"并继续处理主要任务。每个独立的修复都可以通过这种方式放置在单独的提交中。

    • 在另一个分支中进行更改,这些更改不会影响当前分支。为此,作为一个团队创建一个单独的工作区是有意义的git worktree add。并专门执行您想要在记事本中写下的内容,像往常一样创建提交。以这种方式创建的提交稍后可以使用 放置在主分支中git cherry-pick。

    当主要任务完成(意味着本地)并且所有细微更改(来自记事本)都在当前分支中的单独提交中实现时,您可以压缩提交并在必要时重新组合它们。git rebase -i交互式命令对此很有效。在编辑器中,您可以按所需顺序排列提交(只需向上/向下移动行),可以通过替换pick为squash(或简单地)来合并相邻提交s,在与前一个提交(上面的行)合并的提交中,标记为作为pick。合并提交时,将打开一个编辑器,您可以在其中重新编写合并提交的消息。要重写单个提交的消息,请选择reword。无论如何,编辑器中的文本中都提供了有关操作提交的不同方法的提示。

    • 1
  3. eri
    2024-10-18T04:46:20Z2024-10-18T04:46:20Z

    在代码中写注释。使用图形 shell 打开提交。请参阅那里的差异。将评论文本移至提交。

    您还可以在某些界面中单独提交修复,仅突出显示必要的行。

    • 0

相关问题

  • 在 github Web 界面中添加了一个文件。如何将其上传到本地存储库?

  • 在服务器上安装 Git

  • 如何在 GitHub 上的搜索中与我正在寻找的字符串完全匹配?

  • 有限访问 gitlab 进行 QA

  • 如何查看 GitHub 上所有创建的分支

  • 在 Git 中是否可以更改(而不是删除)整个历史记录中的特定文件

Sidebar

Stats

  • 问题 10021
  • Answers 30001
  • 最佳答案 8000
  • 用户 6900
  • 常问
  • 回答
  • Marko Smith

    我看不懂措辞

    • 1 个回答
  • Marko Smith

    请求的模块“del”不提供名为“default”的导出

    • 3 个回答
  • Marko Smith

    "!+tab" 在 HTML 的 vs 代码中不起作用

    • 5 个回答
  • Marko Smith

    我正在尝试解决“猜词”的问题。Python

    • 2 个回答
  • Marko Smith

    可以使用哪些命令将当前指针移动到指定的提交而不更改工作目录中的文件?

    • 1 个回答
  • Marko Smith

    Python解析野莓

    • 1 个回答
  • Marko Smith

    问题:“警告:检查最新版本的 pip 时出错。”

    • 2 个回答
  • Marko Smith

    帮助编写一个用值填充变量的循环。解决这个问题

    • 2 个回答
  • Marko Smith

    尽管依赖数组为空,但在渲染上调用了 2 次 useEffect

    • 2 个回答
  • Marko Smith

    数据不通过 Telegram.WebApp.sendData 发送

    • 1 个回答
  • Martin Hope
    Alexandr_TT 2020年新年大赛! 2020-12-20 18:20:21 +0000 UTC
  • Martin Hope
    Alexandr_TT 圣诞树动画 2020-12-23 00:38:08 +0000 UTC
  • Martin Hope
    Air 究竟是什么标识了网站访问者? 2020-11-03 15:49:20 +0000 UTC
  • Martin Hope
    Qwertiy 号码显示 9223372036854775807 2020-07-11 18:16:49 +0000 UTC
  • Martin Hope
    user216109 如何为黑客设下陷阱,或充分击退攻击? 2020-05-10 02:22:52 +0000 UTC
  • Martin Hope
    Qwertiy 并变成3个无穷大 2020-11-06 07:15:57 +0000 UTC
  • Martin Hope
    koks_rs 什么是样板代码? 2020-10-27 15:43:19 +0000 UTC
  • Martin Hope
    Sirop4ik 向 git 提交发布的正确方法是什么? 2020-10-05 00:02:00 +0000 UTC
  • Martin Hope
    faoxis 为什么在这么多示例中函数都称为 foo? 2020-08-15 04:42:49 +0000 UTC
  • Martin Hope
    Pavel Mayorov 如何从事件或回调函数中返回值?或者至少等他们完成。 2020-08-11 16:49:28 +0000 UTC

热门标签

javascript python java php c# c++ html android jquery mysql

Explore

  • 主页
  • 问题
    • 热门问题
    • 最新问题
  • 标签
  • 帮助

Footer

RError.com

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

帮助

© 2023 RError.com All Rights Reserve   沪ICP备12040472号-5