使用" git commit -am"进行初始提交推送到GitHub时失败并导致错误

时间:2015-08-01 18:45:14

标签: git macos github git-push git-commit

我是Git / GitHub的新手,我很难将我的新回购推送到GitHub。

我在本地创建了我的项目,它基本上具有以下目录结构:

myapp/
    src/
        <A bunch of source files>
    build.grade
    gradle.properties
    README.md
    .gitignore

为了更好的衡量标准,请点击我的.gitignore(如果是罪魁祸首):

.idea
*.iml
*.ipr
*.iws
/out
.gradle
/build
/files
/*.yaml
/*.sh

我确认通过运行产生git —version来安装Git:

  

git version 2.3.2(Apple Git-55)

然后我创建了一个新的GitHub repo(私有)并将其留空,因此我不必合并任何内容。

然后我尝试将我的项目初​​始化为新的git repo,这是命令行历史记录:

myuser@mac:~/sandbox/eclipse/workspace/myapp$ git init
Initialized empty Git repository in /Users/myuser/sandbox/eclipse/workspace/myapp/.git/
myuser@mac:~/sandbox/eclipse/workspace/myapp$ git commit -am "Initial barebones commit."

*** Please tell me who you are.

Run

    git config --global user.email "you@example.com"
    git config --global user.name "Your Name"

to set your account's default identity.
Omit --global to set the identity only in this repository.

fatal: unable to auto-detect email address (got 'myuser@mac.(none)')
myuser@mac:~/sandbox/eclipse/workspace/myapp$ git config --global user.email "myuser@example.org”
myuser@mac:~/sandbox/eclipse/workspace/myapp$ git config --global user.name “mygithubusername”
myuser@mac:~/sandbox/eclipse/workspace/myapp$ git commit -am "Initial barebones commit."
On branch master

Initial commit

Untracked files:
.classpath
.gitignore
.project
.settings/
README.md
bin/
build.gradle
gradle.properties
gradle/
gradlew
gradlew.bat
src/

nothing added to commit but untracked files present
myuser@mac:~/sandbox/eclipse/workspace/myapp$ git remote add origin https://github.com/mygithubusername/myapp.git
myuser@mac:~/sandbox/eclipse/workspace/myapp$ git push -u origin master
error: src refspec master does not match any.
error: failed to push some refs to 'https://github.com/mygithbusername/myapp.git'

所以你可以看到我试过了:

  1. 正在运行git init
  2. 添加并推送更改到本地存储库,但必须首先设置我的电子邮件和用户名(再次,我是Git的新手)
  3. 添加&amp;致力于
  4. 添加了新的远程仓库
  5. 试图推动那个远程代表
  6. 根据this answer,这个“ src ref spec master与任何不匹配”错误可能是由于我实际上还没有提交任何内容,这可能与我在上面看到的“未跟踪文件”错误/警告。

    无论哪种方式,我哪里出错,我该怎么做才能解决它?

3 个答案:

答案 0 :(得分:2)

您必须使用query.findInBackground(new FindCallback<ParseObject>() { public void done(List<ParseObject> eventList, ParseException e) { if (e == null) { Log.d("Events", "Retrieved " + eventList.size() + " Events"); for (int i = 0; i < eventList.size(); i++) { Events events = new Events(); events.setTitle((String) eventList.get(i).get("teststr")); events.setId(String.valueOf( eventList.get(i).get("id"))); listEvents.add(events); } eventAdapter = new EventAdapter(this); eventAdapter.setEventList(listEvents); eventsList.setAdapter(eventAdapter); } else { Log.d("score", "Error: " + e.getMessage()); } } }); 添加未跟踪的文件。

使用该命令 git add

答案 1 :(得分:1)

根据您的日志,在提交之前,您似乎没有添加文件(要跟踪)。

使用git commit -am是不够的,因为only adds modified files(即已经是您的回购的一部分的文件)。您正在进行初始提交,因此索引中还没有任何文件。

要添加(暂存)当前目录中的所有文件,请在提交之前使用git add .。或者,使用git add <filename1> <filename2> ...暂存单个文件以进行提交。

然后,您可以使用git status来验证要添加到提交的文件是否已暂存。如果它们被正确上演,它们应该显示为绿色(在标题下面写着“要提交的更改”。未上传的文件将显示为红色,标题为“未提交的更改未提交”

有关git工作流程的更多信息:https://git-scm.com/book/en/v2/Git-Basics-Recording-Changes-to-the-Repository

答案 2 :(得分:0)

Git的输出应如下所示:

On branch master

Initial commit

Untracked files:
  (use "git add <file>..." to include in what will be committed)

    foo.txt

nothing added to commit but untracked files present (use "git add" to track)

(注意括号之间的提示,它会回答你的问题)。

似乎某人或某事已将配置变量advice.statusHints设置为false。