2012-08-11 21 views
11

我有我的計算機上的現有代碼,然後我註冊了我的帳戶在sourceforge,啓動一個git項目。現在我需要在sourceforge遠程空間上發送我的本地項目。在SF有指令頁:git致命錯誤路徑與一個沒有意義

第一次使用Git

cd miorep-code 
git init 
git commit -a -m 'Initial commit' 
git remote add origin ssh://****/p/miorep/code 
git push origin master 

現有的存儲庫

cd miorep-code 
git remote add origin ssh://****/p/miorep/code 
git push origin master 

如果我按照第一指令集,我有一個

"Fatal: Paths with -a does not make sense"

當我得到git commit -a -m 'Initial commit'

如果我跟隨第二組指令的獲取:

error: src refspec master does not match any. error: failed to push some refs to 'ssh://**/p/ravenna/code'

,當我執行的是最後一個命令。

在我的情況下,正確的一組指令是什麼?爲什麼我得到那個錯誤?

回答

8

第一組的指令沒有任何意義:

cd miorep-code 
git init 
git commit -a -m 'Initial commit' 

需要有和git commit一個git add之間git init,否則git不知道要提交什麼。你的第二個錯誤...

error: src refspec master does not match any. error: failed to push some refs to 'ssh://**/p/ravenna/code' 

...說明你還沒有真正犯了什麼到你的本地版本庫中,所以沒有master分支推。

你想要做的是:

cd miorep-code 
git init 
git add . 
git commit -m 'initial commit' 
git push origin master 

您會注意到,這是幾乎等同於您的第一個指令集,除了我們已經添加git add .這意味着「中添加我的一切當前目錄和下面的我的信息庫「。

+0

它似乎需要遠程加載。 – 2012-08-11 15:23:43

+1

是的;我假設你已經做到了。 – larsks 2012-08-11 15:58:24

+1

你的答案似乎不對。 'git commit -a'應該是git add的等價物。 && git commit'。這就是'-a'所做的,不是嗎? – Olhovsky 2013-05-15 22:34:16

14

單引號是問題所在。將其更改爲雙引號,如「初始提交」。使用Windows-cmd中的雙引號代替單引號。

@AndrewC:做downvote前閱讀本:http://git-scm.com/book/en/Git-Basics-Recording-Changes-to-the-Repository#Skipping-the-Staging-Area

+0

根據以上評論,這將不起作用,因爲沒有東西會被添加到提交。 – 2014-10-04 00:31:00

+1

昨天我遇到了同樣的問題。更改爲雙引號有幫助。所有未跟蹤的文件(手動複製到git項目文件夾)將自動添加到分階段並提交。 - 一個選項是2個動作的複合。 – 2014-10-04 07:46:34

+0

「每個已經被跟蹤的文件」 - 根據上述評論,在git init之後沒有立即跟蹤的文件 – 2014-10-04 16:36:25

相關問題