記錄自己使用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
結果如圖所示(此時解決問題):