git致命错误带有a的路径没有意义

BAD*_*EED 13 git sourceforge

我的计算机上有现有代码,然后我在sourceforge上注册了我的帐户,启动了一个git项目.现在我需要在sourceforge远程空间上发送我的本地项目.在sf上有指令页面:

第一次使用Git

cd miorep-code
git init
git commit -a -m 'Initial commit'
git remote add origin ssh://****/p/miorep/code
git push origin master
Run Code Online (Sandbox Code Playgroud)

现有存储库

cd miorep-code
git remote add origin ssh://****/p/miorep/code
git push origin master
Run Code Online (Sandbox Code Playgroud)

如果我遵循第一套说明,我有一个

"致命:带-a的路径没有意义"

当我得到git commit -a -m 'Initial commit'.

如果我遵循第二套指令,我得到:

错误:src refspec master与any不匹配.错误:无法将某些引用推送到'ssh:// **/p/ravenna/code'

当我执行最后一个命令.

在我的案例中,正确的说明是什么?为什么我会收到错误?

Tim*_*ong 22

单引号'就是问题所在.将其更改为双引号,例如"初始提交".在Windows-cmd中使用双引号而不是单引号.

@AndrewC:在做downvote之前阅读:http://git-scm.com/book/en/Git-Basics-Recording-Changes-to-the-Repository#Skipping-the-Staging-Area

  • 在Windows中,将单引号更改为双引号将有助于解决"致命:路径与-a没有意义". (3认同)

lar*_*sks 9

第一组指令没有意义:

cd miorep-code
git init
git commit -a -m 'Initial commit'
Run Code Online (Sandbox Code Playgroud)

需要有一个和git add之间,因为否则不知道你想要提交什么.你的第二个错误......git initgit commitgit

error: src refspec master does not match any. error: failed to push some refs to 'ssh://**/p/ravenna/code'
Run Code Online (Sandbox Code Playgroud)

...表示您尚未实际向本地存储库提交任何内容,因此没有master可推送的分支.

你想要做的是:

cd miorep-code
git init
git add .
git commit -m 'initial commit'
git push origin master
Run Code Online (Sandbox Code Playgroud)

你会注意到这几乎与你的第一组指令完全相同,除了我们添加一个git add .意味着"将我当前目录及其下的所有内容添加到我的存储库".

  • 不.`git commit -a`将对已经属于存储库*的文件提交所有挂起的更改.`git add .`将在当前目录中以递归方式添加所有文件.换句话说,`git add .`后跟`git commit`会将新文件添加到存储库,而`git commit -a`只会提交对现有文件的更改. (5认同)
  • 这似乎是一个拒绝答案的可怕理由,特别是因为你不是那个提出问题的人.欢迎您提出*新*问题以获得您正在寻找的答案! (5认同)
  • 你的答案似乎错了.`git commit -a`应该相当于`git add.&& git commit`.这就是`-a`所做的,不是吗? (2认同)