2012-04-06 64 views
2

我一直在開發Web應用程序並使用git作爲項目。到現在爲止,我一直在我的本地機器上運行它。現在我想在託管的Web服務器上查看它,我想創建一個標籤。因此使用git tag -a v0.1 -m 'version0.1'命令。命令git tag列出了我剛剛創建的標記。現在的問題是我如何在我的Web服務器上籤出(簽出)這個標籤?如何在託管的Web服務器上籤出git標籤

我的託管Web服務器瞭解git命令。我想知道一個命令或過程在我的服務器上有這個標籤。那裏不會有任何發展在服務器上。

回答

0

我想出了一個簡單的方法。沒有必要定義一個新的遠程。

  • 步驟1:在本地機器(提交你的代碼之後)簡單地做:
 
    $ git tag -a vx.x.x -m "version x.x.x" 
    $ git push --tags 
  • 第二步:託管服務器上,導航到你要籤然後將文件夾這樣做:
 
    $ git clone [email protected]:username/proj.git 
    $ cd proj 
    $ git checkout vx.x.x 

現在,如果你要創建下一個版本的另一個標籤讓我們說x.x.y,然後重複上述步驟1,用x.x.y替換x.x.x,並用以下替換步驟2。

  • 步驟2:在託管服務器上執行以下操作。
 
    $ cd proj 
    $ git fetch --tags 
    $ git checkout vx.x.y 
2

我知道您希望將git標記本地存儲庫副本複製到託管的Web服務器上。你也提到你的託管的Web服務器設置爲了解git命令。

現在你的本地計算機上,遠程Web服務器定義的名稱和推標籤:

$ git remote add myHostedWebServer ssh://server.example.org/path/toyour/website.git 

$ git push --tags myHostedWebServer 

希望這有助於

更新時間: 我明白你的問題的樣子,你想直接將您的本地更改推送到託管的Web服務器。如果是這樣,你可以按照上面提到的步驟。但是現在你已經提到你有你在GitHub上的代碼,並希望從您的GitHub的更新您的虛擬主機服務器,有幾種方法,其中之一是:

  • 在本地機器上做的:$git push myDefinedName master
  • 正如你剛纔提到你的主機服務器理解Git命令 並假設你有git的初始化--bare創建存儲庫, 導航到託管Web服務器目錄與GIT相關聯,並做到:

    $git pull myDefinedName master

    $git checkout <tag name>

    或者,您可以使用post-receive掛鉤。你可以得到更詳細的信息here

+0

嗨user1316,我有我的代碼在github上。那麼我可以使用以下格式的命令嗎? '$ git remote add myDefinedName [email protected]:username/Hello-World.git'。而且,在我的本地機器上運行此操作之後,我應該在主機服務器上執行哪些命令以便在其中添加tag v0.1? (我很抱歉,因爲這可能很愚蠢,但我不知道,因爲我對git完全陌生)。 – Goje87 2012-04-07 18:45:26

+0

我將更新答案,並保留上面提供的其他信息。 – Ziran 2012-04-08 00:27:15