我知道已经提出了类似的问题。
但是,我认为我的问题是由于我之前犯的错误,因此有所不同:让我解释一下。
一切顺利,我可以:
git add .
本地存储库中的所有文件。git commit -m "message here"
将消息添加到我的提交中。git push origin master
将我的文件上传到GitHub。git push heroku master
将我的文件上传到Heroku。然而,在某些时候,我在本地创建了一个名为add-calendar-model
的新分支,以防应用程序开发的后续步骤向南...
......这正是发生的事情。
然而,尽管进行了许多尝试,但我没有设法从master
分支到我的本地存储库获取初始代码 - 即我创建新分支之前的代码。
因此,我决定从GitHub手动删除本地存储库和git clone
我的master
分支中的所有文件。
这样,我恢复了所有文件,但现在,我无法再将其推送到远程存储库。
每当我尝试运行git push origin add-calendar-model
或git push origin master
时,都会收到以下错误:
fatal: 'origin' does not appear to be a git repository
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
我对Git和GitHub不太满意,你可能已经猜到了,我不得不承认我对如何解决这个问题一无所知。
有什么想法吗?
答案 0 :(得分:148)
首先,检查您的来源是否已设置
git remote -v
这应该显示项目的所有推送/提取遥控器。
如果没有输出则返回,跳到最后一个代码块。
验证远程名称/地址
如果返回显示您已设置遥控器,请检查遥控器的名称是否与您在命令中使用的遥控器相匹配。
$git remote -v
myOrigin ssh://git@example.com:1234/myRepo.git (fetch)
myOrigin ssh://git@example.com:1234/myRepo.git (push)
# this will fail because `origin` is not set
$git push origin master
# you need to use
$git push myOrigin master
如果要重命名遥控器或更改遥控器的URL,您需要首先删除旧遥控器,然后添加正确的遥控器。
删除旧遥控器
$git remote remove myOrigin
添加丢失的远程
然后,您可以使用
添加适当的遥控器$git remote add origin ssh://git@example.com:1234/myRepo.git
# this will now work as expected
$git push origin master
答案 1 :(得分:9)
对我有用。
git remote add origin https://github.com/repo.git
git push origin master
将存储库URL添加到本地工作目录中的原始位置
答案 2 :(得分:8)
Matt Clark如上所述
但是,可能没有设置原点,因此跳过删除步骤只需尝试添加就可以清除它。
git remote add origin <"clone">
“克隆”只是进入你的GitHub仓库并复制“HTTPS克隆URL”并粘贴到GitBash
答案 3 :(得分:2)
确保.git上的配置文件正确...检查网址&amp;确保您使用正确的密钥协议 ... ProjectWorkspace /的.git /配置
~Wrong url for git@bitbucket
[core]
repositoryformatversion = 0
filemode = true
bare = false
logallrefupdates = true
[remote "origin"]
url = gitbucket.org:Prezyack/project-one-hello.git
fetch = +refs/heads/*:refs/remotes/origin/*
~Wrong URL for SSH...
[core]
repositoryformatversion = 0
filemode = true
bare = false
logallrefupdates = true
ignorecase = true
precomposeunicode = true
[remote "origin"]
fetch = +refs/heads/*:refs/remotes/origin/*
url = https://emmap1@bitbucket.org/emmap1/bitbucketspacestation.git
[branch "master"]
remote = origin
merge = refs/heads/master
我们正在查看网址... 例如:对于bitbucket,期待git@bitbucket.org ....如果是gitbucket.org。做出必要的改变.. 保存 再试一次。
答案 4 :(得分:1)
如果您使用git clone添加远程存储库,请按照以下步骤操作:-
git clone <repo_url>
然后
git init
git add *
*表示添加所有文件
git commit -m 'your commit'
git remote -v
检查是否有分支运行,如果没有,则什么也没有显示,然后我们添加或获取存储库。
“ 先获取” 。您需要运行 git pull origin <branch>
或git pull -r origin <branch>
,然后再下一次推送。
然后
git remote add origin <git url>
git pull -r origin master
git push -u origin master```
答案 5 :(得分:1)
对我来说,解决此问题的方法是重新设置原始网址:
git remote set-url origin https://github.com/username/example_repo.git
然后我能够成功git push
我的项目。即使我用git remote -v
查看我的来源时,我也必须这样做,因为这些网址与我将其重新设置为相同的网址。
答案 6 :(得分:1)
这两个步骤对我有用!
第 1 步:
git remote set-url origin https://github.com/username/example_repo.git
第 2 步:
git push --set-upstream -f origin main
第 3 步:
你的 github 用户名和密码
在第 2 步中,实际上需要 -f
,因为 rebase,引用此 post。
答案 7 :(得分:0)
从原点拉取更改时出现类似错误。 如果您从菜单选项中尝试使用Intellij,则拉动可能无法直接起作用。
转到终端并输入此命令,这应该可以解决: git pull origin master
答案 8 :(得分:0)
有时您没有用于将该分支推回原点的本地REF。
尝试
git push origin master:master
这明确表明要推送到(和从)哪个分支
答案 9 :(得分:0)
我有同样的问题。当我检查配置文件时,我注意到'fetch = + refs / heads / :refs / remotes / origin / '与'url = Z:/ GIT / REPOS / SEL在同一行。 git”,如下所示:
[core]
repositoryformatversion = 0
filemode = false
bare = false
logallrefupdates = true
symlinks = false
ignorecase = true
[remote "origin"]
url = Z:/GIT/REPOS/SEL.git fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
remote = origin
merge = refs/heads/master
[gui]
wmstate = normal
geometry = 1109x563+32+32 216 255
起初我不认为这会很重要,但是在看到马杰(Magere)的帖子后,我移动了一行,并解决了这个问题:
[core]
repositoryformatversion = 0
filemode = false
bare = false
logallrefupdates = true
symlinks = false
ignorecase = true
[remote "origin"]
url = Z:/GIT/REPOS/SEL.git
fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
remote = origin
merge = refs/heads/master
[gui]
wmstate = normal
geometry = 1109x563+32+32 216 255
答案 10 :(得分:0)
这是我更新master分支的方式
这种错误通常在删除项目的初始代码后发生
因此,首先,请验证实际的远程版本,然后删除原始来源并添加注释,然后将回购URL复制到项目文件中。
$ git remote -v
$ git remote rm origin
$ git commit -m "your commit"
$ git remote add origin https://github.com/user/repo.git
$ git push -f origin master