我分叉了Flask存储库并从GitHub克隆了它的网站分支
git clone --recursive https://github.com/lovesh/flask.git -b website
Run Code Online (Sandbox Code Playgroud)
然后我配置了遥控器
git remote add upstream https://github.com/lovesh/flask.git -t website
git fetch upstream
Run Code Online (Sandbox Code Playgroud)
然后我做了更改(我没有创建任何额外的文件,但修改了2个文件)我不得不制作然后添加文件并提交这样的更改
git add .
git commit .
Run Code Online (Sandbox Code Playgroud)
这促使我对提交发表评论,我输入了评论.现在它告诉我了
2 files changed, 69 insertions(+), 7 deletions(-)
Run Code Online (Sandbox Code Playgroud)
但是当我尝试将这些更改推送到我的GitHub帐户时
git push origin master
Run Code Online (Sandbox Code Playgroud)
它显示错误
error: src refspec master does not match any.
error: failed to push some refs to 'https://github.com/lovesh/flask.git'
Run Code Online (Sandbox Code Playgroud)
我环顾四周,有这个问题的人说他们没有在这里和这里做出改变.但我确实提交,即使它然后它显示我这个错误.确认我试过
git status
Run Code Online (Sandbox Code Playgroud)
它表明了
# On branch website
# Your branch is ahead of 'origin/website' by 1 commit.
#
nothing to commit (working directory clean)
Run Code Online (Sandbox Code Playgroud)
同时git log也说明我在日志中提交.我是git的新手.我错过了什么吗?
首先,克隆存储库后没有主分支。
git clone细节:
--branch <name>
-b <name>
Run Code Online (Sandbox Code Playgroud)
不要将新创建的
HEAD指向克隆存储库指向的分支HEAD,而是指向<name>分支。
在非裸存储库中,这是将被检出的分支。
--branch还可以获取标签并HEAD在结果存储库中分离该提交。
因此,在您的情况下,如果您想创建并跟踪本地网站分支到原点,您需要:
git push -u origin website
Run Code Online (Sandbox Code Playgroud)
(之后,一个简单的就足够了:更多关于“ git - vs. (tracking)git push ”中的推送策略)push currentpush upstream
您的其他远程“ upstream”也将仅跟踪upstream/website分支:
该git remote文档确实提到:
使用选项,将创建
-t <branch>一个仅跟踪的引用规范refs/remotes/<name>/ namespace,而不是使用默认的全局引用规范来跟踪 下的所有分支。 您可以给出多个分支来跟踪多个分支,而无需抓取所有分支。<branch>-t <branch>
在您的情况下,您仅跟踪upstream/website( +refs/heads/website:refs/remotes/upstream/website) 而不是默认的 refspec ( +refs/heads/*:refs/remotes/upstream/*)。
| 归档时间: |
|
| 查看次数: |
4344 次 |
| 最近记录: |