我遇到了一个情况,我对git很新。
我已经在Wordpress 2中重新开发了Wordpress 3的主题,而不知道主题在其他位置被主动使用。
现在我需要将这个旧版本标记为V1,将当前版本标记为V2,因为我认为这是最好的方法。
我的问题是这个旧状态也有一些未提交的更改。
在标记之前提交它们并推送不是最佳的。
我的解决方案:
这是解决此问题的正确方法吗?
在我这样做之前,我需要考虑一下吗?
提前致谢。 /乔尔
答案 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