2011-06-20 31 views
0

我给自己一个情况,并且对于git我很新。Git为旧状态标记未提交的更改

我已经重新开发了Wordpress 3中使用的Wordpress 3的主题,但没有知道主题在另一个位置被主动使用。

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

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

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

我的解决办法:

  • 分支老态
  • 将文件提交到新的分支
  • 标签老师傅
  • 合并我的分支与原主。

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

在我这样做之前,我需要考虑一些事情吗?

在此先感谢。 /Joel

+0

意味着什么“这一老态有一些未提交的变化“?应该包含在标签中的未提交的更改? –

+0

他们应该包括在内。 这些更改是无可争议的错误修正。 我的回购的当前状态远远超过了这些变化。 –

回答

1

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

我可以让你错了,但什么是使用在所有标签未提交的东西的?

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

这听起来像是一个可怕的绕道,直接在主机上提交更改并标记提交。试试看:没有什么区别。/confused/


你也许是说你有一个你想应用于旧版本的补丁,而不是标记为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 
+0

“你的意思是说你有一个你想要应用于旧版本的补丁,而不是将其结果标记为V1?在这种情况下,你所描述的是一种很好的做法。” 是的,就是这样。 :)恩里克不是我的第一语言。我会以这种方式尝试。谢谢。 –

相关问题