2011-05-17 65 views
4

來自一個簡單的「編輯直接在FTP」工作流程,我想嘗試源代碼版本控制。正如我所能想象的,GIT是一個非常受歡迎的選擇。如何使用Git存儲庫進行Web開發(和部署)?

我是一個單一的開發。我在遠程服務器(Linux)上有多個我在其上工作的網站(每個都在/ home/domains /中),我希望在本地開始工作(Mac OS),然後推回(更新遠程文件)。

我不明白不過Git是應該如何爲我工作。它看起來像我必須有一個「裸」的存儲庫,我不能有,因爲我的項目已經有文件和文件夾,所以這意味着我必須創建一個新的裸存儲庫,然後本地推入的東西,然後拉遠程。

這似乎有點奇怪,有3個倉庫(1個本地和2個遙控器),當我只能在2個文件夾上工作。

我可以得到一些建議嗎?

回答

3

有兩個標準,神志清醒,選擇,如果你有你的服務器和本地系統之間的在線訪問。

首先,您可以爲其他存儲庫添加遠程設備,並在開始進行更改之前從其他存儲庫提取所有已提交的更改。這意味着,例如,如果您在本地系統上進行了更改,則必須將ssh切換到服務器並在該處進行更改。

其次,你可以創建一個純倉庫作爲主。這是共享存儲庫的標準模型,尤其是涉及多個用戶時,但在涉及一個用戶時起作用,並且在兩個系統之間可能沒有全時間雙向訪問時首選 。這個裸倉庫可以位於Mac系統,Linux服務器或第三個系統(例如github)上。在這種情況下,工作流程將從裸存儲庫中提取所有更改,進行更改,提交,然後將更改推送到裸存儲庫。沒有特殊的掛鉤,你仍然需要ssh到服務器,併發出拉來更新現場網站。

您可以通過從服務器存儲庫執行git clone --mirror --bare來創建新存儲庫。之後,您將在服務器上使用git add remote origin URL-TO-NEW-BARE-REPOSITORY。您可以在macosx系統上執行相同的操作,也可以在macosx系統上執行相同的操作,或者在系統配置中允許macosx系統推送到檢出的Linux工作目錄,這在技術上是可能的。我不建議這樣做,特別是如果您也可能對該存儲庫進行更改,因爲該過程可能/會破壞所有未提交的更改。自動掛鉤可能會發生類似的問題,自動掛鉤會自動將傳入的提交發送到實時Web服務器目錄。

爲便於參考,考慮http://toroid.org/ams/git-website-howtohttp://joemaller.com/990/a-web-focused-git-workflow/

0

我的工作流程是這樣的:

  • 我有一個遠程回購和一個本地的(他們是正常的回購,而不是裸露的)
  • 我在我的本地回購工作
  • 我犯
  • 我把我的變化對遠程回購
  • 我ssh到遠程計算機並在遠程回購運行git reset --hard更新文件

工作得很好對我來說,尤其是因爲我用布做推復位步驟,所以它歸結爲單一fab push

爲了說明我是一名開發人員,如果您在較大的團隊中開發您的網頁,可能無法很好地工作。

+0

我要去看得更遠,這種方法。事實上,我忘了提及我是一名開發人員 – TibCristi 2011-05-17 22:19:06