【问题标题】:How to create multiple stages in Git如何在 Git 中创建多个阶段
【发布时间】:2017-05-20 05:24:09
【问题描述】:

使用 Git 时,可以按照 https://githowto.com/staging_changes 暂存文件。所以一般

git add file1
git commit
git add file2
git commit

但是我看不到的是一种创建多个阶段的方法(这样我可以拆分一个大型编辑会话),可以通过一次提交来保存。这甚至可以用 Git 实现吗?

【问题讨论】:

    标签: git


    【解决方案1】:

    如果你想在 git 中添加特定的文件或目录

    git add folder/file-name
    

    然后使用

    提交暂存文件
    git commit -m "message" -- folder/file-name
                              /\
                              ||
               space after `--` is necessary
    

    【讨论】:

      【解决方案2】:

      Git的使用方式通常是这样的:

      • 编辑文件;
      • 暂存文件,可以是部分文件,也可以是全部文件;
      • 当舞台看起来不错时,你就提交它;
      • 之前没有暂存的文件,可以在以后暂存和提交;
      • 您重复此过程,创建一个新阶段(另一组文件)并提交它,等等;

      因此,如果您想提交由长时间编辑会话产生的修改的子集,只需暂存一些文件并提交这些文件。 像往常一样,建议将您的更改保留在提交中的一个小的相关集中,不惜一切代价避免不相关更改的巨大无意义提交。

      关于分支的更新: 如果您需要将在 master 分支上创建的一些更改放在一边并处理其他内容,您可以将更改临时存储在另一个本地分支上,例如:

       - create a new branch called "temp_changes" (new branch);
       - switch to it (checkout);
       - stage the editing you want to store in this branch
       - commit the stage;
       - switch back to master branch (checkout);
      

      此后,您可以在不受那些现在仅存储在 _temp_changes_ 分支中的修改影响的 master 分支上工作。如果您需要与其他人共享或安全存储它,您也可以远程推送此分支。

      【讨论】:

      • OK 那么 Git 是否能够在一次提交中包含多个阶段?
      • 答案应该是“不”,除非有误解:我想更多地了解一个阶段对您来说是什么,以及您将使用多阶段功能的场景是什么?
      • 例如自上次提交以来,我已经完成了 3 个不同的工作领域。我想创建 3 个阶段,我可以将它们作为单独的实体提交,但只需一个操作。换句话说,我希望工作流是 Edit > Stage > Stage > Stage > Commit。而我目前有 Edit > Stage> Commit > Stage > Commit > [Stage] > Commit。这有意义吗?
      • 在这种情况下,您应该将文件分成三组;对于每组文件,将它们放入阶段,然后提交阶段。这样做三遍,即每组。最终你会得到三个单独的提交,每个提交都有一个特定的消息和一组特定的文件。请查看 master 的历史,以了解您通过创建三个不同的提交来创建修改的分离。
      • 是的,第二个是获取单独的提交,每个修改一个(其中修改是一堆文件)。
      猜你喜欢
      • 1970-01-01
      • 2018-11-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-17
      • 1970-01-01
      • 2014-09-30
      • 2011-11-07
      相关资源
      最近更新 更多