Git
- 簡介
- 什麼是git
Git是一個開源的分散式版本控制系統,它的用途與SVN, CVS等版本控制系統一樣,可以對檔案進行版本管理(控制的物件是開發的專案程式碼)。Git是目前主流的版本控制系統,很多軟體專案都會用它作為原始碼管理工具。
程式碼開發時間軸:需求1 => 版本庫1 ==> 需求2 => 版本庫2 => 版本庫3(版本庫1) => 版本庫4(版本庫2)
讓我們可以透過git回到某個版本
- git的作用
幫助開發者合併開發的程式碼,協同開發(程式碼管理,類似檔案管理)
如果出現衝突程式碼的合併,會提示後提交合並程式碼的開發者,讓其解決衝突
程式碼版本管理
- 分支管理
Git中比較最重要的一點就是分支的概念,有了分支就有了合併和衍合的操作,「合併」和「衍合」能夠「有效的對程式碼版本的管理」。
Git的初始化中有一條預設的主分支叫做master,每一次的提交都會串成一條時間線,這就是一條分支,當前分支由HEAD指標指向:
當每次發生程式碼提交的時候,當前指向就會向前形成一個新的版本,假如再建立一個新的分支bran,並且當前的提交指向新的分支,這樣新的分支隨著時間的推移就會形成許多版本,當新分支開發完後,提交倉庫,併合併到主幹master,最後刪除bran分支,這樣就完成了一次個人的開發。
3. 操作介紹
- 本地倉庫操作
本地倉庫常用命令如下:
git status 檢視檔案狀態
git add 將檔案的修改加入暫存區
git reset 將暫存區的檔案取消暫存或者是切換到指定版本
git commit 將暫存區的檔案修改提交到版本庫
git log 檢視日誌
- 遠端倉庫操作
(1)git remote 檢視遠端倉庫
(2)git remote add 新增遠端倉庫
新增遠端倉庫,執行 git remote add < shortname > < url > 新增一個新的遠端 Git 倉庫,同時指定一個可以引用的簡寫。
(3)git clone 從遠端倉庫克隆
如果你想獲得一份已經存在了的 Git 遠端倉庫的複製,這時就要用到 git clone 命令。 Git 克隆的是該 Git 倉庫伺服器上的幾乎所有資料(包括日誌資訊、歷史記錄等),而不僅僅是複製工作所需要的檔案。
克隆倉庫的命令格式是: git clone [url]
(3)git pull 從遠端倉庫拉取
git pull 命令的作用是從遠端倉庫獲取最新版本併合併到本地倉庫,命令格式:git pull [short-name] [branch-name]
- 分支操作
分支是Git 使用過程中非常重要的概念。使用分支意味著你可以把你的工作從開發主線上分離開來,以免影響開發主線。
同一個倉庫可以有多個分支,各個分支相互獨立,互不干擾。
透過git init 命令建立本地倉庫時預設會建立一個master分支。
(1)git branch 檢視分支
git branch 列出所有本地分支
git branch -r 列出所有遠端分支
git branch -a 列出所有本地分支和遠端分支
(2)git branch [name] 建立分支
建立分支命令格式: git branch [name]
(3) git checkout [name] 切換分支
切換分支命令格式:git checkout [name]
(4) git push [ shortName ] [name] 推送至遠端倉庫分支
推送至遠端倉庫分支命令格式: git push [ shortName ] [name]
(5) git merge [name] 合併分支
合併分支命令格式: git merge [name]
GitHub
- 簡介
GitHub是一個面向開源及私有軟體專案的託管平臺,因為只支援Git作為唯一的版本庫格式進行託管,故名GitHub。GitHub擁有1億以上的開發人員,400萬以上組織機構和3.3億以上資料庫。
官網首頁:
- 特點
從程式碼自動化到雲:使用GitHub Actions透過GitHub Packages和內建CI/CD更快地迴圈生產程式碼並簡化工作流。
自動化工作流:在管理程式碼的同一個位置以所需方式生成、測試、部署和執行CI/CD。從任何GitHub事件到任何可用API觸發Actions。使用所選語言生成Actions,或從社群建立的數千個工作流和Actions中進行選擇。
帶有程式碼的家庭包:使用Actions將新的包版本自動釋出到GitHub Packages。在CI/CD工作流中安裝託管在GitHub Packages或首選包登錄檔上的包和映像。它對於開放原始碼始終免費,Actions內的資料傳輸對所有人都無限制。
共同保護軟體安全:GitHub在保護全球程式碼安全方面扮演著重要的角色-開發人員、維護人員、研究人員和安全團隊。在GitHub上,各地的開發團隊都可以協同工作,以保護全球軟體供應鏈的安全,從分支到完成。
獲取有關程式碼中漏洞的警報:GitHub持續掃描常用語言的安全建議。此外,此功能還會向受影響的儲存庫的維護人員傳送安全警報,並提供詳細資訊,以便他們能夠修正風險。
自動更新漏洞:GitHub監視專案依賴項,並自動開啟拉取請求,以將依賴項更新為可解決已知漏洞的最低版本。
查詢其他工具忽略的漏洞:CodeQL是行業領先的語義程式碼分析引擎。GitHub的革命性方法將程式碼視為資料,以更快地識別安全漏洞。
消除變體:永遠不會再犯相同的錯誤。主動漏洞掃描可防止漏洞進入生產環境。
確保令牌安全:意外地將令牌提交到公共儲存庫,在20家服務提供商的支援下,GitHub會採取措施確保安全。 - 建立倉庫
在完成註冊和登入等操作之後,即可進行倉庫的建立
- 設定倉庫資訊
- 建立成功
在建立完成自己的庫之後,下面就要讓自己的電腦克隆一個自己所建立的庫,方面自己電腦上的程式碼同步到GitHub你所建立的庫當中。為了實現,就需要安裝一個軟體,Git Bash。
git bash是Windows下的命令列工具。
基於msys GNU環境,有git分散式版本控制工具。
主要用於git版本控制,上傳下載專案程式碼。
之後就可以透過git將程式碼上傳到遠端倉庫,從而對程式碼進行管理。