2012-03-18 96 views
2

我有我的網絡服務器設置爲遠程git回購,所以我可以鍵入「git push staging」,我的最後一次提交在服務器上運行。我用this tutorial來設置它。我可以不用先提交我的工作目錄嗎?

很多時候,我正在測試一個新功能,並且我想在它作爲提交的質量做好準備之前,在臨時服務器上測試它的幾次迭代。有沒有辦法將我的工作目錄推送到服務器而不必首先提交?

回答

2

這是不可能的。您只能推送更改集(或提交)。因此你總是需要創建提交。

但是,您可以創建本地開發或暫存分支,在其中提交測試並將它們推送到服務器。一旦你滿意,你可以合併+壓扁/櫻桃選擇你的變化到你的主分支。

1

你想要做什麼是不可能的您的問題可以通過創建一個特性分支(一個分支,你只注重實現單一功能來解決,那你後來合併到主站或另一個分支)。

基本上,您需要做的只是git checkout -b feature_branch_name commit_sha1(其中commit_sha1是一個可選參數,指定分支的起始點;如果您未指定此參數,則默認情況下爲HEAD)。

你繼續工作(承諾&推到主存儲庫):

git add . 
git commit 
git push origin feature_branch_name 
# repeat until done 

,當你完成的功能,您在master合併它(或任何你需要的其他分支):

git checkout master 
git merge feature_branch_name 

有關功能分支(和分支&合併一般)的詳細信息可以找到here

相關問題