關於遇到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