关于遇到src refspec master does not match any的问题


github上传时出现error: src refspec master does not match any解决办法

引起该错误的原因是,目录中没有文件,空目录是不能提交上去的

  1. git add filename 将改动添加到缓存区
  2. git commit -m 'first commit' 提交说明
  3. git push origin master 将本地更改推送到远程master分支。
  4. 如果在github的remote上已经有了文件,会出现错误。此时应当先pull一下,即:git pull origin master
  5. git push origin master

$ mkdir runoob-git-test # 创建测试目录
$ cd runoob-git-test/ # 进入测试目录
$ echo "# 菜鸟教程 Git 测试" >> README.md # 创建 README.md 文件并写入内容
$ ls # 查看目录下的文件
README
$ git init # 初始化
$ git add README.md # 添加文件
$ git commit -m "添加 README.md 文件" # 提交并备注信息 这是必须步骤,缓存
[master (root-commit) 0205aab] 添加 README.md 文件
1 file changed, 1 insertion(+)
create mode 100644 README.md

提交到 Github

$ git remote add origin git@github.com:tianqixin/runoob-git-test.git
$ git push -u origin master


总结

1. git add 文件
2. git commit -m     提交信息
3. Git pull origin master
4. git push origin master

基本操作

git remote -v  查到远程仓的信息
如果不是需要的远程仓则:
git remote add origin git@github.com:username/filename    PS:此时想换个filename怎么办呢
远程仓下载数据
git fetch  origin获取远程仓origin 上的master分支数据
git merge  origin/master 合并数据

------
推送数据到远程仓
git add filename
git commit -m "version"
git push origin master

----
删除远程仓
git remote rm 别名
查看远程仓信息
git remote -v

不小心把本地的文件删除了一个?

想从仓库git pull 下拉?

对不起,这是不行的,虽然不知道为什么,但是我告诉你怎么回复这个文件。

首先,我们先用git status 看看工作区的变化

$ git status
On branch dev
Your branch is up-to-date with 'origin/dev'.
Changes to be committed:
(use "git reset HEAD ..." to unstage)
deleted: Application/Home/View/Index/Index.html
Application/Home/View/Index/Index.html 记住这个
工作区告诉我,你把这个文件删除了,那么接下来是这样的

一,执行命令:

$ git reset HEAD Application/Home/View/Index/Index.html(注释:上面的那个路径)
Unstaged changes after reset:
D Application/Home/View/Index/Index.html

二,执行:

git checkout Application/Home/View/Index/Index.html

好啦,你误删的文件回来了

    <div id="post_detail">

1.2 git和github -2 工作、缓存、版本区操作(提交)

分支:相当于开了一个新的版本库,可以和其他版本库并存

master:主分支名字 — 一般是稳定的版本

 

一. git的三个区

工作区 — 项目编写的代码所在区

暂存区

  — 作为过渡层

  — 避免误操作

  — 保护工作区和版本区

版本区(库) — 每个版本都会记录在上面(初始只有master)

 

二. git命令

1. 提交

git status — 查看工作区和缓存区的状态

  如果没有要提交的内容会出现以下:

  on branch master 在master主分支上

  nothing to commit,working directory clean 没有任何要提交的,工作区是干净的

  1.1 工作区 — 缓存区 — 版本区

  1.11工作区 — 缓存区

  git add demo1.html — 将demo1.html添加到暂存区

  git add . —— 将所有新增修改添加到暂存区

  [master +2 ~0 -0 ]  工作区有2个新的文件,0个修改和减少了0个文件

  [master +1 ~0 -0| +1 ~0 -0] — 绿的表示在缓存区,红色的表示在暂存区

  1.12缓存区 — 版本区

  git commit — 提交到版本区

  git commit -m "注释内容" —— 直接添加版本注释

  

  1.2 工作区 —— 版本区

  git commit -a -m "注释" —— 先将工作区内容添加到缓存区,然后提交至版本库(省略add操作)

  注:git log —— 查看提交历史(版本较多用回车键查看省略的历史版本,按q键可退出版本查看)

 

2. 对比

  git diff 对比的是工作区和暂存区的差异

+       var disX = 0;    — 表示新增内容

-        var disY = 0;    — 表示删除内容

  git diff --cached(--staged) — 对比的是暂存区和版本区

  git diff master( 这里写分支名字 ) — 对比的是工作区和版本库

 

3. 撤销

  git reset HEAD <file.name> — 缓存区撤回到工作区

  git checkout <file.name> — 工作区还原到版本区

  git commit --amend — 撤销上次版本,与本次版本合并生成新的版本(误提交后重新对这次提交进行重新操作,合并一次新的提交方案)

  git add demo1.html

  git commit -m "change3" --amend

 

4. 删除

  git rm <file.name> — 把暂存区的文件删除( 工作区文件需删除,否则删除失败)

  git rm --cache <file.name> — 把暂存区的文件删除(工作区保留)

  git rm -f <file.name> — 把暂存区的文件和工作区的文件删除

 

5. 恢复

  git checkout commit_id <file.name> — 恢复指定文件

  git reset --hard commit_id — 恢复制定版本

  git reset --hrad HEAD^ — 恢复到前面一个版本

  git reset --hrad HEAD~<num> — 恢复到前面第num个版本

  git reflog — 查找操作记录,可回到当前版本

分类: 工具和性能
0
0
« 上一篇: 1.1 git和github -1 介绍
» 下一篇: 1.3 git和github -3 同步到远程仓库
	</div>
	<div class="postDesc">posted @ <span id="post-date">2015-08-22 14:06</span> <a href="https://www.cnblogs.com/zouxinping/">O_Geek_O</a> 阅读(<span id="post_view_count">559</span>) 评论(<span id="post_comment_count">1</span>)  <a href="https://i.cnblogs.com/EditPosts.aspx?postid=4750165" rel="nofollow">编辑</a> <a href="#" onclick="AddToWz(4750165);return false;">收藏</a></div>
</div>
<script type="text/javascript">var allowComments=true,cb_blogId=195348,cb_entryId=4750165,cb_blogApp=currentBlogApp,cb_blogUserGuid='57176a50-a126-e411-8d02-90b11c0b17d6',cb_entryCreatedDate='2015/8/22 14:06:00';loadViewCount(cb_entryId);var cb_postType=1;var isMarkdown=false;</script>
	<div class="feedbackItem">
		<div class="feedbackListSubtitle">
			<div class="feedbackManage">
				&nbsp;&nbsp;<span class="comment_actions"><a href="javascript:void(0);" onclick="return ReplyComment(4137413,'9Yoi6KeXP/Ou7uzrcDbjJef+Bja2K1WJnXJTGnBwzCek8VH4+Fo80w==')">回复</a><a href="javascript:void(0);" onclick="return QuoteComment(4137413,'9Yoi6KeXP/Ou7uzrcDbjJef+Bja2K1WJnXJTGnBwzCek8VH4+Fo80w==')">引用</a></span>
			</div>
			<a href="#4137413" class="layer">#1楼</a><a name="4137413" id="comment_anchor_4137413"></a><span id="comment-maxId" style="display:none;">4137413</span><span id="comment-maxDate" style="display:none;">2018/12/12 11:22:45</span>  <span class="comment_date">2018-12-12 11:22</span> <a id="a_comment_author_4137413" href="https://www.cnblogs.com/kelisi/" target="_blank">Crisimple</a> <a href="http://msg.cnblogs.com/send/Crisimple" title="发送站内短消息" class="sendMsg2This">&nbsp;</a>
		</div>
		<div class="feedbackCon">
			<div id="comment_body_4137413" class="blog_comment_body">讲的很详细</div><div class="comment_vote"><a href="javascript:void(0);" class="comment_digg" onclick="return voteComment(4137413,'Digg',this)">支持(0)</a><a href="javascript:void(0);" class="comment_bury" onclick="return voteComment(4137413,'Bury',this)">反对(0)</a></div><span id="comment_4137413_avatar" style="display:none;">http://pic.cnblogs.com/face/743305/20190725131605.png</span>
		</div>
	</div>
<div id="comments_pager_bottom"></div></div><script type="text/javascript">var commentManager = new blogCommentManager();commentManager.renderComments(0);</script>
</div><!--end: forFlow -->
</div>
posted @ 2019-07-17 10:20  楼下小黑·  阅读( 3211)  评论( 0编辑  收藏


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM