2011-07-16 93 views
0

我在服務器上創建了一個存儲庫:git init --bare,我想推送一個分支給它。git添加到裸露的回購

git push origin Dev 

,但我得到

remote fatal: you are a branch waiting to be born. 

我在做什麼錯?
它似乎工作,如果我不使用--bare,但我認爲這就是我應該使用的。

編輯: 我只是得到這是錯誤,如果我有一個post-recieve掛鉤在服務器上。 我有這個,我,收到後鉤:

#!/bin/sh 
GIT_WORK_TREE=/var/www/UML git checkout -f 

什麼,我想這一切做的是更新的Web服務器,當我推到遠程

我的混帳配置:

[core] 
    repositoryformatversion = 0 
    filemode = false 
    bare = false 
    logallrefupdates = true 
    symlinks = false 
    ignorecase = true 
    hideDotFiles = dotGitOnly 
[gui] 
    wmstate = normal 
    geometry = 887x427+25+25 330 192 
[branch "master"] 
[branch "Dev"] 
[remote "origin"] 
    url = ssh://[email protected]/GR 
    fetch = +refs/heads/*:refs/remotes/origin/* 
+0

什麼是'混帳status'在您的本地存儲庫的輸出執行? –

回答

0

您是否先克隆了遠程(裸露)存儲庫或正確設置了遠程origin?名稱爲Dev的分支是否存在並提交?確保在該分支上至少有一個提交。


在你的鉤子試圖git reset --hard代替git checkout -f。也可以嘗試在最後加上exit 0;(儘管這樣會隱藏語句的退出代碼)。你鉤上的東西是失敗的。是你的鉤子腳本設置的可執行位? 如果您在沒有git干預的情況下直接在服務器上執行鉤子腳本,會發生什麼情況?

還請確保您的git的過程中有你/var/www/UML目錄寫權限,因爲腳本是由用戶/組誰運行Git進程