2011-06-20 30 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?在這種情況下,你所描述的是一種很好的做法。」 是的,就是這樣。 :)恩裏克不是我的第一語言。我會以這種方式嘗試。謝謝。 –

相關問題