雖然這個系列的文章主要關注的是github,然而首先了解下git的基本概念和名詞也是非常有幫助的。
工作目錄(working directory)
工作目錄是你個人計算機上的乙個目錄。在該目錄下,每乙個開發人員都有一套完整**檔案和相關檔案的拷貝。在這個工作目錄下的**檔案,git就能自動進行版本控制。
git檔案
在工作目錄中,您可能會發現一些額外的檔案, .gitattributes和 .gitignore,這些用於告知git如何處理資料夾中的檔案。.gitattributes會告訴 git 如何處理各種檔案的比較操作。.gitignore指示 git(基於副檔名) 的某些檔案不應由 git 處理。這些額外的檔案會在後面的章節中進行更多的介紹。
圖1 初始git工作目錄
當你建立乙個 git 倉庫時,git 會將這些檔案( .gitattributes和 .gitignore)的預設版本新增到你的工作目錄。你可以在現有的檔案目錄上建立乙個 git 倉庫或是建立乙個完全新的git 倉庫和工作目錄。你還可以轉殖現有的git 倉庫。乙份轉殖是乙個完整的副本 (包括歷史記錄) 的git 庫。無論你怎麼建立,現在都有了乙個可以進行工作的git庫了。
轉殖操作(clone)
轉殖是乙個git庫的完整副本。例如,您可能會轉殖了乙份git庫,修復了一些 bug,然後向git庫提交**。當然你需要對git庫具有寫許可權。
叉子操作(fork)
叉子操作是從git主庫拷貝到你個人賬戶下的git庫,這樣就不能直接對git主庫進行直接更新,而是先更新個人的副本,然後再提交乙個拉請求(pull request),請求更改git主庫。這種功能經常用於開放原始碼專案,那裡許多合作者幫助作者處理問題,但作者決定何時將它們包括在主分支。
拉請求(pull request)
拉請求是向git庫作者請求把你對叉來的git庫的更改合併到git主庫中。這個操作通常是由**庫合作者協助處理問題時使用。
分支(branches)
乙個分支是一套完整的庫檔案。git 預設情況下將建立乙個主分支。你可以建立更多的分支,在不會影響主分支的情況下,嘗試更多的思路。
常見的分支可能包括︰
當然如何建立分支由你決定。然而如果很多合作者來參與專案,分支結構會令開發工作更加順暢,並且不影響到主分支的構建,
被跟蹤檔案(tracked files)
被跟蹤檔案是 git 管理的工作目錄 (儲存庫) 中的檔案。當你新增新檔案或使更新現有檔案時,git都會跟蹤這些檔案變化。在某個時間點,你將通過命令將這些檔案提交到git庫中。
提交(commit)
提交操作是把對被跟蹤檔案的變更新增到git庫的過程。你需要填寫總結和說明,然後將檔案新增到git庫中。git 將維護所有對儲存庫提交的歷史記錄。
提交說明(commit message)
提交說明是針對當前要提交的一組檔案的總結和描述。
合併(merging)
合併是將**從乙個分支融合到另乙個分支的過程。當在乙個分支中完成了對**的修改和完善,通常會希望回**合併主分支。git 提供顯示**更改的鑑別工具,協助合併過程。
變更集(change sets)
git 可以讓您檢視當前分支下所有的檔案改變。你可以檢視所做的更改,並決定哪個檔案更改您想提交到分支。
例如,您可能已完成的工作是五個變更檔案中的兩個,需要單獨提交這兩個檔案。你提交了這兩個檔案,git會記錄這個歷史操作,並繼續跟蹤其他檔案的變動。這使您可以建立邏輯變更集,而不是簡單地基於日期的更改。
提交記錄(commit history)
git 記錄所有已提交的更改的日誌,以便你可以檢查之前的所有的變更。如果你轉殖乙個git庫,也會同時也拷貝了提交記錄。
總結
基本的 git 流程是建立乙個git庫,做些更改和新增操作,然後,以變更集方式進行提交。git 將報告被跟蹤檔案的更改,讓你來決定如何組織提交。一旦完成了一些提交,你就可以檢視git的提交記錄檢查專案狀態。
Git學習筆記 第一章
本系列學習筆記參考廖雪峰git教程 安裝git linux平台 ubuntu debian命令 sudo apt get install git win安裝即可 設定git config global user.name your name git config global user.email ...
python第一章筆記 第一章 基礎
參與除法的兩個數中有乙個數為浮點數,結果也為浮點數 如 1.0 2,1 2.0,1.0 2.0 python print 1.0 2 結果 0.5 print 1 2.0 結果 0.5 print 1.0 2.0 結果 0.5 整數 整數,計算結果的小數部分被截除,只保留整數部分 不會四捨五入 如 ...
第一章 習題一
軟體就是程式,編寫軟體就是編寫程式 f 軟體 程式 資料 文件 軟體危機的主要表現是軟體需求增加,軟體 上公升.f 軟體工程學科的出現的主要原因是軟體危機的出現.t 與電腦科學的理論研究不同,軟體工程是一門原理性學科 f 軟體工程是工程性學科 在下列選項中,d 不是軟體的特徵.a.系統性與複製性 b...