git - 使用 git 分支作为过去学术研究实验的快照

标签 git

我的基本问题是如何复制分支,但我在 Stackoverflow 上进行了一些搜索,但找不到适合我的目的的方法 - 所以请不要将我的问题标记为重复,因为我在这里寻求个性化建议.
我正在与一个 5 人以上的小组一起开展一个研究项目。我们有一个共同的代码库(主分支)。出于我的目的,我需要为一个实验稍微修改通用代码库,所以我创建了一个分支并在那里完成我的工作。
现在,实验完成后,我想

  • 保持分支原样而不 merge (原因:其他人不需要我新添加的代码,我希望将来引用它)
  • 创建此分支的副本(这是一个新分支)并在那里继续我的工作,以便新分支上的任何更改都不会反射(reflect)在旧分支上

  • 什么是最干净和最安全的方法来做到这一点?有什么我需要知道的含义吗?非常感激!

    最佳答案

    创建一个分支,完成工作后 create an annotated tag :

    git tag -a experiment123 -m "Result of the experiment: satisfactory"
    git push --tags
    
    这样的标签有什么方便:
  • 他们有一个作者和一条消息,您可以在其中存储实验摘要
  • 它们无法更改(尽管您可以重新创建它)
  • 您可以保留当前分支并可以在那里开始新的实验

  • 因此,继续在该分支中进行下一个实验(无需创建新的,因为您将先前的状态保存到标签中)。完成后 - 创建一个新的带注释的标签。
    如果您需要开始在不同的分支上工作 - 您只需检查该分支,在那里提交并从那里创建一个标签。如果您决定返回旧实验并用它尝试新事物 - 您将 check out 旧标签(或从它创建一个分支),引入更改并再次 - 创建另一个标签。

    关于git - 使用 git 分支作为过去学术研究实验的快照,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64964588/

    相关文章:

    git - 使现有文件夹成为 git 子树

    git - 推送到 Heroku 被拒绝 - "failed to push some refs to ' heroku”

    git - 如何git忽略与容器目录同名的文件?

    html - Heroku/Node.js - 部署不加载 CSS?

    eclipse - 将文件夹从 Eclipse 项目添加到 Git 源代码管理

    git - 推送到 Heroku 失败 - 没有这样的应用程序致命

    git - 如何让 Gerrit 的代码审查在成功提交时输出电子邮件差异?

    Git 将 Emacs 减慢至死亡 - 如何解决这个问题?

    git - SmartGit Mercurial "Authentication Failed"

    git - 如何将维护者添加为 Gitlab 上项目的所有者