記錄本身使用GitHub的點點滴滴

前言

  如今大多數開發者都有本身的GitHub帳號,不少公司也會以是否有GitHub做爲一項篩選簡歷以及人才的選項了,可見擁有一個GitHub帳號的重要性,本文就從最基本的GitHub帳號的註冊到基本的使用進行學習記錄,一方面方便本身,另外一方面但願對你有所幫助~html

  以前寫過一篇文章,淺談使用git 進行版本控制(博客連接:http://www.javashuo.com/article/p-bkqkadox-gs.htmlgit

  說實話,當時是學習可視化的時候,接觸到git ,學了些皮毛,可是本身在實踐中並無真正的用到GitHub這個平臺。那時候在大學,還無憂無慮的,可是一年後,也就是今天,我在家裏寫了代碼,可是在公司也想寫,才發現了GitHub的好處了,今天火燒眉毛的使用了這個東西,而且把一些筆記記錄下來。github

GitHub簡介

   GitHub是用於版本控制和協做的代碼託管平臺,它可讓您和其餘人在任何地方協同工做。GitHub 能夠託管各類Git版本庫,並提供一個web界面,但與其它像 SourceForge或Google Code這樣的服務不一樣,GitHub的獨特賣點在於從另一個項目進行分支的簡易性。web

   爲一個項目貢獻代碼很是簡單:首先點擊項目站點的「fork」的按鈕,而後將代碼檢出並將修改加入到剛纔分出的代碼庫中,最後經過內建的「pull request」機制向項目負責人申請代碼合併。已經有人將GitHub稱爲代碼玩家的MySpace。windows

 一:建立新的Git倉庫

  本文將學習使用GitHub基本知識,如存儲庫,分支,提交和Pull請求,我將建立本身的hello world存儲庫並學習GitHub的Pull Request工做流,這是一種建立和檢查代碼的流行方法。學習

1:建立存儲庫

  一個庫一般用於舉辦單個項目,存儲庫能夠包含文件夾和文件,圖像,視頻,電子表格和數據集等等,你的項目須要的任何內容,咱們認爲包括README或者包含項目信息的文件。GitHub能夠在建立新存儲庫的同時輕鬆添加一個。this

  以下圖所示:咱們能夠添加一個新的倉庫,而且添加描述,最後單擊Create repositoryurl

 

2:建立一個分支(Create a Branch)

  分支是一次處理不一樣版本的存儲庫的方法。設計

  默認狀況下,咱們的存儲庫有一個名爲master的分支branch,該分支被認爲是權威分支。咱們在使用分支進行試驗並在提交以前進行編輯master。3d

  當你在分支機構上建立master 分支時,咱們正在製做該master時間點的副本或者快照,若是其餘人master在咱們的分支機構上工做時對branch作了更改,則能夠提取這些更新。

  在GitHub,咱們的開發人員,編寫人員和設計人員使用分支來保持錯誤修復和功能工做與咱們的master分支分開,當更改準備就緒時候,他們講其分支合併到master。

 3:建立一個新分支

  • 1,轉到新的倉庫,也就是咱們的倉庫hello-world
  • 2,單擊文件列表頂部的下拉列表:master
  • 3,在新分支文本框中輸入分支名稱readme-edits
  • 4,選擇藍色的建立分支框或者按鍵盤的Enter

 

  如今咱們有兩個分支,master和readme-edits,他們看起來同樣,可是時間不會很長,接下來咱們增長咱們的改變在新的分支上。

4:製做並提交更改

  如今咱們在readme-edits分支的代碼視圖中,這是一個master的副本,讓咱們作一些修改吧。

  • 1,單擊該README.md文件
  • 2,點擊要編輯的文件上糊塗右上角的鉛筆圖標
  • 3,在編譯器中,寫一點東西
  • 4,編寫描述更改的提交消息
  • 5,單擊提交按鈕

 5:打開Pull請求

  Pull Requests是GitHub上合做的核心,當咱們打開拉取請求時候,你提出了更改並請求某人審覈並提取咱們的貢獻,並將其合併到他們的分支中,拉請求顯示來自於兩個分支的內容的差別。

5.1 點擊Pull Requests

5.2 在Example Comparisons中比對代碼

 

 5.3 在比較頁面查看差別,確保其是咱們要提交的內容

 

5.4 若是是,點擊Create pull request

 

5.5 爲咱們的拉取請求提供標題,並寫下更改的簡要說明

 

6:合併咱們的Pull Requests

  最後將咱們的更改結合在一塊兒,將咱們的readme-edits分支合併到master分支上。

6.1 單擊Merge pull request,而後單擊Confirm merge

6.2 Delete branch

6.3 恢復的話點擊Restore branch

二:如何一步步的在GitHub上傳本身的項目

1 建立一個新的項目,填寫項目名稱,描述等

2 建立完成後,跳轉到下面頁面

  那麼請記住下面的地址:

3 咱們須要下載Git,並安裝。

  若是沒有安裝,請查看windows的安裝博客(這裏不作詳細介紹):http://www.javashuo.com/article/p-gsbsoypn-ev.html

4 進入Git Bash,出現以下界面

 

5 cd 進入到咱們放項目的地址

6 輸入git init

在當前項目工程下履行這個號令,至關於把當前項目git化

 

  在當前項目的目錄中生成本地的git管理(咱們會發現當前目錄下多了一個.git文件夾)

7 輸入git add .

把當前目次下代碼參加git的跟蹤中,意思就是交給git經管,提交到本地庫

  這個是將項目上全部的文件添加到倉庫中,若是隻想添加某個特定的文件,只須要將.換成特定的名稱便可。

(下面會報錯,咱們發現add 和.之間有空格)

8 輸入git commit -m "first commit"

至關於寫點提交信息

  表示咱們對此次提交的註釋,雙引號裏面的內容能夠根據我的的需求改

9 出現上面的內容,咱們須要輸出本身的帳號或者名字,再執行上面的代碼就會成功

10 關聯本身的倉庫url地址

  這裏本身找本身的url地址

git remote add origin https://本身的倉庫url地址

   下面展現本人的:

 11 上傳代碼 輸入 git push -u origin master(意思:上傳到GitHub倉庫)

將本地庫提交到github上。

  執行完畢後,若是沒有異常,會等待幾秒,而後跳出一個讓咱們輸入Username 和password的窗口,咱們只須要輸入我的的github登陸帳號和密碼便可。

 

   最後上傳完畢

 12 上傳成功,進入到GitHub中查看

 

三:GitHub如何刪除項目

1,首先找到須要刪除的項目,點開

2,找到settings,點開

3,將滾動條滑到底部,找到Danger Zone下的Delete this repository

 

4,點擊,會彈出一個警告框,將該項目名稱輸入進行確認

 

5,這裏會彈出帳號從新進行確認,輸入密碼進行確認便可。

 

 6,刪除成功後,會從新回到我的主界面提醒項目刪除成功

四,報錯push declined due to email privacy restrictions的解決方法

  當你上傳代碼到最後一步,發現沒法push,而且會出現以下錯誤:

  那麼如何解決呢?

1,進入GitHub主頁,進入setting

 

2,點擊emails

3,取消Block command line pushes that expose my email的勾便可

五,報錯error: src refspec master does not match any.的解決方法

  上傳代碼到最後一步,出現此錯誤,如何解決呢?(就是沒法匹配master)

1:錯誤產生的緣由

  引發該錯誤的緣由是,目錄中沒有文件,空目錄是不能提交上去的

2:解決方法

  這個仔細檢查,本地的文件名稱是否和GitHub上的對應。個人就是由於名字不對應致使的錯誤,也就是本身粗心!!!

 

  其二,就是以前沒有使用以下代碼:

git add .

   沒有對代碼進行跟蹤,我找了兩天,才發現本身每次都少了這一步,也會報一樣的錯誤,很是粗心!!!

 

六,報錯error: failed to push some refs to的解決方法

  上傳代碼到最後一步,出現此錯誤,如何解決呢?

1:錯誤產生的緣由

  引發該錯誤的緣由是,咱們在GitHub中對代碼進行了在線的修改;或者咱們直接在GitHub上的某個庫照片那個添加了readme文件或者其餘文件,可是沒有對本地庫進行同步,因此這時候咱們要想commit到remote 的GitHub庫中就會有push失敗的問題,

2:解決方法

  這個問題就是由於遠程庫與本地庫不一致形成的,咱們只須要把遠程庫同步到本地庫就能夠了。指令以下:

git pull --rebase origin master

  git pull –rebase origin master意爲先取消commit記錄,而且把它們臨時 保存爲補丁(patch)(這些補丁放到」.git/rebase」目錄中),以後同步遠程庫到本地,最後合併補丁到本地庫之中。 

  如圖所示:

而後再上傳,指令以下:

git push  -u origin master

  結果如圖所示(此時解決問題):

相關文章
相關標籤/搜索