2013-12-21 120 views
1

我有一個共享服務器(hostgator),它爲我提供了一個git客戶端。 我想在我的筆記本電腦上更新代碼並將它們直接發送到我的共享服務器。 我的問題是,git沒有給我任何錯誤消息,但它不會改變任何東西。git遠程推送不起作用

這裏是我做過什麼:

在服務器:

[email protected] [~]# git init --bare mycode.git 
Initialized empty Git repository in /serverhome/serveruser/mycode.git/ 

在本地計算機上:

[email protected]:~/path/to/local/code$ git init 
Initialized empty Git repository in /home/localuser/path/to/local/code/.git/ 

[email protected]:~/path/to/local/code$ git remote add server [email protected]:/serverhome/serveruser/mycode.git 

[email protected]:~/path/to/local/code$ echo '123456'>test; 

[email protected]:~/path/to/local/code$ git add test 

[email protected]:~/path/to/local/code$ git commit -m 'initial commit' 
[master (root-commit) 5b7ce12] initial commit 
1 file changed, 1 insertion(+) 
create mode 100644 test 

[email protected]:~/path/to/local/code$ git push server master 
Counting objects: 3, done. 
Writing objects: 100% (3/3), 209 bytes, done. 
Total 3 (delta 0), reused 0 (delta 0) 
To [email protected]:/serverhome/serveruser/mycode.git 
* [new branch]  master -> master 

我應該在哪裏看到test文件?它是無處可去的!無論是在/serverhome/serveruser/也不/serverhome/serveruser/mycode.git

如果我再次推我會看到這條消息:

Everything up-to-date 

怎麼辦?

回答

1
[email protected] [~]# git init --bare mycode.git 
Initialized empty Git repository in /serverhome/serveruser/mycode.git/ 

這是一個純倉庫。您可以像使用它一樣將其用作遠程設備並推送到它,但它並不意味着它可以用於瀏覽文件。

你可以從你的裸庫克隆服務器上,並使用克隆看到它的文件,例如:

git clone mycode.git mycode 

請記住,你從你的PC推後,你將有在您的克隆中執行git pull,以便從mycode.git獲得更改。裸回購將是您的本地回購和克隆的通用遙控器。

如果您想在每次推送到服務器時自動更新服務器上的克隆,則可以創建post-receive鉤子。我寫了一篇關於on my blog的文章。

+0

感謝您的重要觀點。所以,如果我想避免使用服務器的shell並直接從本地路徑推送到服務器,我該怎麼辦? – faravish

+0

你想設置一個'post-receive'鉤子,這樣當你從本地執行'git push'時,腳本會在'mycode'(mycode.git的非純粹克隆)中執行'git pull' )。 – janos

+0

我有一個問題。當我在服務器的shell中鍵入'git clone mycode.git/serverhome/serveruser' 我面對這個錯誤:'致命的:目的地路徑'/ serverhome/serveruser'已經存在並且不是一個空目錄。' 任何如何覆蓋服務器的用戶主目錄中的項目? – faravish

0

的文件實際上是推,但你在錯誤的方式尋找它,您可以克隆該服務器上的git的文件夾,然後結賬主

+0

你可以告訴我們在終端(以及服務器或本地計算機的終端,終端)輸入什麼? – faravish