带有未提交更改的旧状态的Git标记

带有未提交更改的旧状态的Git标记,git,Git,我遇到了一个情况,我对git很陌生 我从Wordpress 2中使用的Being中重新开发了Wordpress 3的主题,但我不知道该主题在其他地方被积极使用 现在我需要将这个旧版本标记为V1,将当前版本标记为V2,因为我认为这是最好的方法 我的问题是,这个旧状态也有一些未提交的更改 提交它们并在标记之前推送它们将不是最佳选择 我的解决方案: 支离破碎 将文件提交到新分支 给老主人贴标签 把我的树枝和老主人合二为一 这是解决这个问题的正确方法吗 这是我做这件事之前需要考虑的事情吗 提前谢谢。

我遇到了一个情况,我对git很陌生

我从Wordpress 2中使用的Being中重新开发了Wordpress 3的主题,但我不知道该主题在其他地方被积极使用

现在我需要将这个旧版本标记为V1,将当前版本标记为V2,因为我认为这是最好的方法

我的问题是,这个旧状态也有一些未提交的更改

提交它们并在标记之前推送它们将不是最佳选择

我的解决方案:

  • 支离破碎
  • 将文件提交到新分支
  • 给老主人贴标签
  • 把我的树枝和老主人合二为一
这是解决这个问题的正确方法吗

这是我做这件事之前需要考虑的事情吗

提前谢谢。 /乔尔

我的问题是,这个旧状态也有一些未提交的更改。 提交它们并在标记之前推送它们将不是最佳选择

我可能误解了你的意思,但是标记未提交的东西有什么用呢

我的解决方案:-分支旧状态-将文件提交到新分支-标记旧主机-将我的分支与旧主机合并

这听起来像是一条可怕的绕道,直接在主服务器上提交更改并标记提交。试试看:没有区别/迷茫/



你的意思可能是你有一个补丁,你想应用到一个旧版本,而不是标记为V1的结果?在这种情况下,你所描述的是一种做得很好的方法

另一个是:

git stash save amendments_for_v1
git checkout -b v1_branch oldrevision
git stash pop amendments_for_v1
git commit -am 'amendments'
git tag V1

git checkout master
现在,根据您是否发布了自
oldrevision
revision以来的历史记录,您可以这样做

git merge v1_branch      # includes amendments, but doesn't create problems with published history


什么意思是“这个旧状态有一些未提交的更改”?应包含在标记中的未提交更改?应包含这些更改。这些更改是未限制的错误修复。我的回购协议的当前状态远远超前于这些变化。“你的意思是你有一个补丁,你想应用到一个旧版本上,然后将其结果标记为V1吗?在这种情况下,你所描述的是一种很好地实现它的方法。”是的,就是这样英语不是我的第一语言。我就这样试试。非常感谢。
git rebase v1_branch     
# includes the same amendments, _as if they had been there before 
# doing the rest of the work on master_. This results in 'clean' or 
# 'logical' history *BUT* invalidates the published revisions since oldrevision from the master branch