1. 程式人生 > >記錄自己使用GitHub的點點滴滴

記錄自己使用GitHub的點點滴滴

前言

  現在大多數開發者都有自己的GitHub賬號,很多公司也會以是否有GitHub作為一項篩選簡歷以及人才的選項了,可見擁有一個GitHub賬號的重要性,本文就從最基本的GitHub賬號的註冊到基本的使用進行學習記錄,一方面方便自己,另一方面希望對你有所幫助~

  說實話,當時是學習視覺化的時候,接觸到git ,學了些皮毛,但是自己在實踐中並沒有真正的用到GitHub這個平臺。那時候在大學,還無憂無慮的,但是一年後,也就是今天,我在家裡寫了程式碼,但是在公司也想寫,才發現了GitHub的好處了,今天迫不及待的使用了這個東西,並且把一些筆記記錄下來。

GitHub簡介

   GitHub是用於版本控制和協作的程式碼託管平臺,它可以讓您和其他人在任何地方協同工作。GitHub 可以託管各種Git版本庫,並提供一個web介面,但與其它像 SourceForge或Google Code這樣的服務不同,GitHub的獨特賣點在於從另外一個專案進行分支的簡易性。

   為一個專案貢獻程式碼非常簡單:首先點選專案站點的“fork”的按鈕,然後將程式碼檢出並將修改加入到剛才分出的程式碼庫中,最後通過內建的“pull request”機制向專案負責人申請程式碼合併。已經有人將GitHub稱為程式碼玩家的MySpace。

 一:建立新的Git倉庫

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

1:建立儲存庫

  一個庫通常用於舉辦單個專案,儲存庫可以包含資料夾和檔案,影象,視訊,電子表格和資料集等等,你的專案需要的任何內容,我們認為包括README或者包含專案資訊的檔案。GitHub可以在建立新儲存庫的同時輕鬆新增一個。

  如下圖所示:我們可以新增一個新的倉庫,並且新增描述,最後單擊Create repository

 

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

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

  預設情況下,我們的儲存庫有一個名為master的分支branch,該分支被認為是權威分支。我們在使用分支進行試驗並在提交之前進行編輯master。

  當你在分支機構上建立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,並安裝。

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

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