git - 在 Git 中实现 “floating tag” 最惯用的方法是什么?

标签 git

我将我的网站保存在 Git 存储库中。它只是一个小型个人网站,因此没有花哨的自动化;我将进行一系列更改,然后使用 jekyll-s3 定期将站点推送到服务器.我确实喜欢跟踪哪些修订已上传,哪些尚未上传,现在我有一个名为 pushed 的分支,每次上传时我都会将 master merge 到该分支中到服务器。 (如果涉及任何其他分支,我会在推送之前将所有内容 merge 到 master 中,因此只有 master 会 merge 到 pushed 中。)

这很好用,但是当我关心的只是一次将一个提交标记为“已推送”时,使用“整个”分支对我来说似乎很奇怪。 (是的,我知道分支在 Git 中被认为是非常轻量级的。)在术语方面,我似乎想在每次上传到服务器时“标记”最新的提交——除了在 Git 中,标记应该是一个对一个特定提交的不可变引用。保留一个名为 pushed 的分支是执行我想要做的事情的最惯用的方法,还是有更好的方法?

最佳答案

如果我没理解错的话,你想引用你在网站上的最后更新,对吧?嗯,分支实际上是他们所做的,但不是你所做的命名。

如您所知,使用版本控制系统进行开发主要有两种方式:

  • master 是开发分支。在这种情况下,稳定版本是某些标签。
  • master 是稳定分支。在这种情况下,您还有其他分支需要开发。当你想将你的功能添加到 master 时,你将 master 与你自己的分支 merge 并测试它。如果有效,您将结果与 master merge 并将其推送到您的网站。

您所说的实际上是第二种方法,您有一个名为 pushed 的稳定分支,并始终保持稳定(上传、工作、任何您想要的属性)。

所以,是的,你所做的已经存在,但更惯用的是,他们将 master 作为稳定分支而不是其他一些分支(例如名为 pushed)。虽然这是相同的概念。

编辑:我的意思是,每当您想将更改上传到您的网站时,请 merge 您在 master(或 pushed 如果你喜欢的话),然后上传它。这样,master(或pushed)的最后一次提交就是网站的最后一次上传。

关于git - 在 Git 中实现 “floating tag” 最惯用的方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8288073/

相关文章:

git - Ubuntu + Git + Netbeans 7 - 我们需要在操作系统上安装 Git 吗?

git - 在 Cygwin 中使用 Git 时如何设置默认编辑器?

git - 在 git 中 checkout 时的状态 D

git - 我如何 git remote prune 只是一个特定的远程分支?

git merge 说 Already up-to-date 但在分支中有一个 promise 的差异

git - Intellij 作为 merge 工具无法正确检测编码

git - gitattributes 中的 "!eol"有什么作用?

xcode - 无法执行操作,因为 "PROJECTNAME"有一个或多个树冲突

python - buildout+setuptools 和 git 项目 fork

Git子模块分离头状态