我对Git很陌生;我最近才创建了一个GitHub账户。

我刚刚尝试推我的第一个存储库(一个示例项目),但我得到以下错误:

No such remote 'origin'

我运行了以下命令:

git init
git commit -m "first commit"
git remote add origin https://github.com/VijayNew/NewExample.git
git push -u origin master

然而,当我运行git commit -m "first commit"时,我得到了以下消息:

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

然后我试着设原点,用

git remote set-url origin https://github.com/VijayNew/NewExample.git

但我得到了以下错误:

No such remote 'origin'

我做错了什么,我该怎么做?


我猜你在提交失败后没有运行这个命令,所以实际运行这个来创建远程:

 git remote add origin https://github.com/VijayNew/NewExample.git

提交失败是因为你需要添加一些你想要跟踪的文件。


两个问题:

1 -你从未告诉Git开始跟踪任何文件

你写你跑了

git init
git commit -m "first commit"

在那个阶段,你得到了

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

Git告诉您,您从一开始就没有告诉它开始跟踪任何文件,它也没有什么可以快照的。因此,Git不创建提交。在尝试提交之前,你应该告诉Git(例如):

嘿,Git,你看到那个README了吗?Md文件无所事事地坐在我的工作目录,在那里?你能帮我把它放到版本控制下吗?我想在我的第一次提交/快照/修订…

为此,您需要使用

git add README.md

在运行之前

git commit -m "some descriptive message"

2 -您还没有设置远程存储库

然后你跑了

git remote add origin https://github.com/VijayNew/NewExample.git

在此之后,您的本地存储库应该能够与位于指定URL (https://github.com/VijayNew/NewExample.git)的远程存储库通信…前提是远程回购确实存在! 然而,似乎你从来没有在GitHub上创建过远程回购:在写这个答案的时候,如果我尝试访问相应的URL,我会得到

在尝试推送到该远程存储库之前,您需要确保后者实际存在。所以去GitHub和创建远程回购的问题。那时,也只有那时,你才能成功地推动

git push -u origin master

当我试图将本地创建的回购与github上的空白回购链接起来时,我遇到了这个问题。 最初我尝试git远程设置url,但我不得不做git远程添加代替。

git remote add origin https://github.com/VijayNew/NewExample.git

下面的步骤对我很有用:

Init

首先,初始化存储库以使用Git,以便跟踪任何文件更改:

git init

创建别名原点

然后,检查要与别名起源相关联的远程存储库是否存在,如果不存在,请先在git中创建它。

$ git ls-remote https://github.com/repo-owner/repo-name.git/

如果它存在,将它与远程别名“origin”关联:

git remote add origin https://github.com:/repo-owner/repo-name.git

然后使用git remote -v检查远程别名“origin”属于哪个URL:

$ git remote -v
origin  https://github.com:/repo-owner/repo-name.git (fetch)
origin  https://github.com:/repo-owner/repo-name.git (push)

验证别名来源

接下来,验证你的别名来源是否正确别名如下:

$ cat ./.git/config
:
[remote "origin"]
        url = https://github.com:/repo-owner/repo-name.git
        fetch = +refs/heads/*:refs/remotes/origin/*
:

您必须看到这个部分[remote "origin"]。你可以考虑使用Windows和MacOS都可用的GitHub Desktop,它可以帮助我自动填充~中缺少的部分/s。或者你可以手动添加它,不是很好,但它工作!

从远程主分支提取任何内容

$ git pull origin main

这将把存储库上的所有内容都拉到本地存储库,包括.gitignore,在该过程中创建分支main。

检查主支路

$ git branch
* main

这将显示主分支已经创建,您现在在它上面。

可选

你可能还想改变原点的别名,让它更直观,特别是当你使用多个原点时:

git remote rename origin my-super-git-repo

最后

git add .
git status //If you want to check what's going to be committed
git commit -m 'First commit' //-m is for message
git push origin main

你会看到如下一行:

枚举对象:22,完成。 计数对象:100%(22/22),完成。 Delta压缩使用最多8个线程 压缩对象:100%(13/13),完成。 写对象:100% (21/21),4.29 KiB | 292.00 KiB/s, done。 总计21 (delta 2),重用0 (delta 0),打包重用0 remote: resolved deltas: 100% (2/2), done。 到https://github.com/repo-owner/repo-name.git 948279 c . .1f3b0b8 main -> main