Git使用未提交的更改标记旧状态

时间:2011-06-20 12:30:35

标签: git

我遇到了一个情况,我对git很新。

我已经在Wordpress 2中重新开发了Wordpress 3的主题,而不知道主题在其他位置被主动使用。

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

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

在标记之前提交它们并推送不是最佳的。

我的解决方案:

  • 分支旧州
  • 将文件提交到新分支
  • 标记旧主人
  • 将我的分支与旧主人合并。

这是解决此问题的正确方法吗?

在我这样做之前,我需要考虑一下吗?

提前致谢。 /乔尔

1 个答案:

答案 0 :(得分:1)

  

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

我可能会误解你的意思,但在 标记未提交的内容会有什么用?

  

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

这听起来像是一个可怕的绕道而已直接在master上提交更改并标记提交。试试吧:没有区别。 /混淆/


你是否意味着你有一个你想要应用于旧版本的补丁,而不是将其结果标记为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修订版以来的历史记录,您可以

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

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