我的應用程序需要符合新的規範。如何在Git中執行類似於svn的標記?
所以我想標記我的應用程序的一個版本。 我希望能夠在將來查看此版本。
我承諾所有我最新的變化。
而且我做的:
git tag -a stable-pre-new-spec
當我執行:
git show stable-pre-new-spec
它顯示我上次來製作diff犯?!我不完全明白 是怎麼回事。
我應該創建一個分支嗎?
我的應用程序需要符合新的規範。如何在Git中執行類似於svn的標記?
所以我想標記我的應用程序的一個版本。 我希望能夠在將來查看此版本。
我承諾所有我最新的變化。
而且我做的:
git tag -a stable-pre-new-spec
當我執行:
git show stable-pre-new-spec
它顯示我上次來製作diff犯?!我不完全明白 是怎麼回事。
我應該創建一個分支嗎?
我會在你的情況下使用了一個分支:
git checkout -b app_in_current_state
然後您就可以繼續在主開發,同時在分支的當前狀態bugfixing。
有兩件事情正在進行。首先,git修訂版是整個文件樹的修訂版本。相比之下,我相信cvs和svn會爲單個文件分別提供修訂版本號。因此,在cvs或svn中,「tag」操作會熄滅並附加到例如「stable-pre-new-spec」到file1版本1.0.3,文件2版本1.0.2,文件3版本2.0,文件4版本1.3。 7等等。然後,當您想使用該標籤進行抓取時,系統會找到所有帶有該標籤的部分。在git中,一個版本已經是關於整個集合的,標籤只是給了它另一個名字。
Second--,這適用於許多釐米系統,包括CVS和svn--混帳給出了相同的名稱爲狀態和差異。 Git把這個組合的東西稱爲提交。所以你問了這個版本,它顯示了它和前一個狀態之間的區別。在git中,提交ID實際上是整個保存的樹內容的校驗和;這只是傳統的向你展示golden spike。
在git中,您可以在創建它之後的任何時候標記提交或創建一個分支。
我在這裏看不到問題。 'stable-pre-new-spec'是給定提交的符號名稱。 「git show」將顯示標籤的內容(如果它是帶註釋的標籤),並在其下方顯示「git show ^{commit}」,其中包含您標記的提交的變更集。 –
2009-05-11 09:49:25
我不想標記我的提交。我希望源樹的當前快照(即每個工件)都用一個字符串「標記」。 – 2009-05-11 10:17:28
標記指向給定提交處的源代碼樹。這是你的快照。你可以很容易地使用「git checkout [-b] 」來回到版本並進一步編輯它。在git中沒有「標記每個工件」,因爲它沒有任何意義:您總是處理完整的存儲庫,而不是單個文件。 –
Bombe
2009-05-11 10:40:47