【问题标题】:Git: Creating a snapshot of my app current state [closed]Git:创建我的应用当前状态的快照 [关闭]
【发布时间】:2020-04-16 09:42:35
【问题描述】:

我正在开发一个应用程序并且我经常发布新版本,并且我希望在每个新版本准备好投入生产后立即保留它的“快照”,以防我需要返回并进行错误修复在未来的那个特定的“发布”上,所以,据我所知,我可以通过我的 git 知识来实现​​这一点,即创建一个分支(例如:release/appname_vxx.xx.xxx_bbddvxx)

在远程:

"Master" > "Create branch from here" > release/appname_vxx.xx.xxx_bbddvxx

在本地:

git fetch
git checkout -b release/appname_vxx.xx.xxx_bbddvxx
git branch --set-upstream-to origin/release/appname_vxx.xx.xxx_bbddvxx
git switch master > return to master and keep working on it.

Whenever bugfixes/modifications are needed:

git switch release/appname_vxx.xx.xxx_bbddvxx
git add . and git commit (after changes)
git switch
git switch master > return to master and keep working on it.

简而言之,我所做的是在每个新版本上创建一个新分支,并带有一个可识别的应用程序和数据库版本名称,以保存状态以备将来使用。

我想知道我保存(和保持)开发状态(在发布新版本时)的方法是否正确/实现此目的的最常见方法,如果不是,那么更好的方法是什么。

【问题讨论】:

  • 很难说你所做的是否是你需要的,因为你没有真正描述你的需求或你当前的工作流程有什么缺点。
  • 其实你做得很好。分支在 git 中非常轻量级,因此您可以拥有多个分支而不会出现任何问题。如果您想要同步存储库,请不要忘记将您的分支推送到远程服务器
  • 你好@kirelagin,我的问题很清楚,每当我启动我的应用程序的新版本时,我都需要保存当前的开发状态,以防我将来需要对该特定的进行任何更改/错误修复版本。我不知道为什么我因为提出这个问题而被否决,因为我并不是在征求意见,这是我第一次这样做,我已经粘贴了一些我会使用的代码,我只需要知道这是否是正确的方法。
  • 您好@Saboteur,非常感谢您的回复。简短且非常有帮助!您是否在我的回答中看到不正确的内容?
  • git 中的每次提交都是整个项目的快照。

标签: git save release snapshot


【解决方案1】:

其实通常的做法是制作一个标签

标签与分支完全一样,只是它不会移动。一个分支随着新提交的添加而移动,但一个标签永远保留在一个提交中,标记和命名它,使其易于查找。它会永远保存它的提交,因为在 git 中,名字就是保存东西的东西。因此,标签正是您正在寻找的那种“保存”。

我所有发布的应用程序都充满了标记版本和发布阶段的标签,在 TestFlight 和 App Store 上,但我只有一个分支,大师,因为我独自工作。如果发布的版本出现崩溃或问题,我只需检查相应的标签即可。

【讨论】:

  • 您好@matt,非常感谢您的帮助和详细的回复。我将搜索 git tag,但您介意编辑您的答案并添加一个基本示例来说明您如何使用它吗?顺便说一句,我会将您的答案标记为正确。
  • 嗨@DiegoPerez,文档在这里:git-scm.com/book/en/v2/Git-Basics-Tagging 请注意,您通常需要一个“带注释”的标签,但通常没有区别,标签是提交的永久名称,那就是你需要什么。从书中可以看出,经典的例子你的情况,即发布版本。
猜你喜欢
  • 2020-05-17
  • 1970-01-01
  • 1970-01-01
  • 2018-07-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多