首頁 開發工具 Git git屬於什麼版本的控制系統

git屬於什麼版本的控制系統

Dec 01, 2021 pm 07:33 PM
git

git屬於分散式版本控制系統。 Git是Linus Torvalds為了幫助管理Linux核心開發而開發的一個開源的分散式版本控制軟體,用以有效、高速的處理從很小到非常大的專案版本管理。

git屬於什麼版本的控制系統

本教學操作環境:windows7系統、mysql8.0.22版本、Dell G3電腦。

git屬於什麼版本的控制系統

#git是分散式版本控制系統。

Git具有以下特點

  • Git中每個複製(clone)的版本庫都是平等的。你可以從任何一個版本庫的克隆來創建屬於你自己的版本庫,同時你的版本庫也可以作為來源提供給他人,只要你願意。

  • Git的每一次提取操作,其實都是一次程式碼倉庫的完整備份。

  • 提交完全在本地完成,無須別人給你授權,你的版本庫你作主,並且提交總是會成功。

  • 甚至基於舊版的變更也可以成功提交,提交會基於舊的版本建立一個新的分支。

  • Git的提交不會被打斷,直到你的工作完全滿意了,PUSH給他人或他人PULL你的版本庫,合併會發生在PULL和PUSH過程中,無法自動解決的衝突會提示您手動完成。

  • 衝突解決不再像是SVN一樣的提交競賽,而是在需要的時候才進行合併和衝突解決。

  • Git 也可以模擬集中式的工作模式

  • #Git版本庫統一放在伺服器中

  • 可以授權Git 版本庫:誰能建立版本庫,誰能向版本庫PUSH,誰能讀取(複製)版本庫

  • 團隊的成員先將伺服器的版本庫克隆到本地;並經常的從伺服器的版本庫拉(PULL)最新的更新;

  • 團隊的成員將自己的改動推(PUSH)到伺服器的版本庫中,當其他人和版本庫同步(PULL)時,會自動取得改變

  • Git 的集中式工作模式非常靈活

  • 你完全可以在脫離Git伺服器所在網路的情況下,如行動辦公室/出差時,照常使用程式碼庫

  • 你只需要在能夠存取Git伺服器所在網路時,PULL和PUSH即可完成和伺服器同步以及提交

  • Git提供rebase 指令,可以讓你的改動看起來是基於最新的程式碼實現的變更

  • #Git 有更多的工作模式可以選擇,遠非Subversion可比

什麼是「版本控制」?

       版本控制是一種記錄一個或若干文件內容變化,以便將來查閱特定版本修訂情況以及回溯的系統。任何類型的文件都可以進行版本控制。

      如果你是位元圖形或網頁設計師,可能需要保存某一幅圖片或頁面佈局文件的所有修訂版本(這或許是你非常渴望擁有的功能),採用版本控制系統(VCS )是個明智的選擇。

      有了它你可以將某個文件回溯到之前的狀態,甚至將整個專案回退到過去某個時間點的狀態,你可以比較文件的變更細節,查出最後是誰修改了哪個地方,從而找出導致怪異問題出現的原因,又是誰在何時報告了某個功能缺陷等等。

     使用版本控制系統通常也意味著,就算你亂來一氣把整個專案中的檔案改的改刪的刪,你也照樣可以輕鬆恢復到原先的樣子。但額外增加的工作量卻微乎其微。

本地版本控制系統

     許多人習慣用複製整個專案目錄的方式來保存不同的版本,或許還會改名加上備份時間以示區別。這麼做唯一的好處就是簡單,但特別容易犯錯。有時候會混淆所在的工作目錄,一不小心會寫錯檔案或覆蓋意想外的檔案。

     為了解決這個問題,人們很久以前就開發了許多種本地版本控制系統,大多都是採用某種簡單的資料庫來記錄檔案的歷次更新差異。

git屬於什麼版本的控制系統

Figure 1. 本地版本控制.

      其中最受歡迎的一種叫做 RCS,現今許多電腦系統上仍能看見它的蹤影。甚至在流行的 Mac OS X 系統上安裝了開發者工具包之後,也可以使用 rcs 指令。它的工作原理是在硬碟上保存補丁集(補丁是指檔案修訂前後的變化);透過應用所有的補丁,可以重新計算出各個版本的檔案內容。

集中化的版本控制系統

接下來人們又遇到一個問題,如何讓在不同系統上的開發者協同工作?

      於是,將集中化的版本控制系統(Centralized Version Control Systems,簡稱 CVCS)應運而生。這類系統,諸如CVS、Subversion 以及Perforce 等,都有一個單一的集中管理的伺服器,保存所有文件的修訂版本,而協同工作的人們都透過客戶端連到這台伺服器,取出最新的文件或提交更新。多年來,這已成為版本控制系統的標準做法。

git屬於什麼版本的控制系統

Figure 2. 集中化​​的版本控制.

       這種做法帶來了許多好處,特別是相較於老式的本地VCS 來說。現在,每個人都可以在一定程度上看到專案中的其他人正在做些什麼。而管理員也可以輕鬆掌控每個開發者的權限,並且管理一個 CVCS 要遠比在各個客戶端上維護本地資料庫來得輕鬆容易。

       則為兩面,且有好有壞。 這麼做最顯而易見的缺點是中央伺服器的單點故障。如果宕機一小時,那麼在這一小時內,誰都無法提交更新,也就無法協同工作。如果中心資料庫所在的磁碟發生損壞,又沒有做恰當備份,毫無疑問你將丟失所有資料——包括專案的整個變更歷史,只剩下人們在各自機器上保留的單獨快照。本地版本控制系統也存在類似問題,只要整個專案的歷史記錄被保存在單一位置,就有遺失所有歷史更新記錄的風險。

分散式版本控制系統

      於是分散式版本控制系統(Distributed Version Control System,簡稱 DVCS)面世了。在這類系統中,像 Git、Mercurial、Bazaar 以及 Darcs 等,客戶端並非只提取最新版本的檔案快照,而是把程式碼倉庫完整地鏡像下來。這麼一來,任何一處協同工作用的伺服器發生故障,事後都可以用任何一個鏡像出來的本地倉庫恢復。因為每一次的複製操作,其實都是一次程式碼倉庫的完整備份。

git屬於什麼版本的控制系統

Figure 3. 分散式版本控制.

      更進一步,許多這類系統都可以指定和若干不同的遠端代碼倉庫進行互動。籍此,你就可以在同一個專案中,分別和不同工作小組的人互相協作。你可以根據需要設定不同的協作流程,例如層次模型式的工作流程,而這在先前的集中式系統中是無法實現的。

推薦學習:《Git教學

以上是git屬於什麼版本的控制系統的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

git怎麼更新代碼 git怎麼更新代碼 Apr 17, 2025 pm 04:45 PM

更新 git 代碼的步驟:檢出代碼:git clone https://github.com/username/repo.git獲取最新更改:git fetch合併更改:git merge origin/master推送更改(可選):git push origin master

git怎麼下載項目到本地 git怎麼下載項目到本地 Apr 17, 2025 pm 04:36 PM

要通過 Git 下載項目到本地,請按以下步驟操作:安裝 Git。導航到項目目錄。使用以下命令克隆遠程存儲庫:git clone https://github.com/username/repository-name.git

git commit怎麼用 git commit怎麼用 Apr 17, 2025 pm 03:57 PM

Git Commit 是一種命令,將文件變更記錄到 Git 存儲庫中,以保存項目當前狀態的快照。使用方法如下:添加變更到暫存區域編寫簡潔且信息豐富的提交消息保存並退出提交消息以完成提交可選:為提交添加簽名使用 git log 查看提交內容

git下載不動怎麼辦 git下載不動怎麼辦 Apr 17, 2025 pm 04:54 PM

解決 Git 下載速度慢時可採取以下步驟:檢查網絡連接,嘗試切換連接方式。優化 Git 配置:增加 POST 緩衝區大小(git config --global http.postBuffer 524288000)、降低低速限制(git config --global http.lowSpeedLimit 1000)。使用 Git 代理(如 git-proxy 或 git-lfs-proxy)。嘗試使用不同的 Git 客戶端(如 Sourcetree 或 Github Desktop)。檢查防火

git怎麼合併代碼 git怎麼合併代碼 Apr 17, 2025 pm 04:39 PM

Git 代碼合併過程:拉取最新更改以避免衝突。切換到要合併的分支。發起合併,指定要合併的分支。解決合併衝突(如有)。暫存和提交合併,提供提交消息。

git怎麼更新本地代碼 git怎麼更新本地代碼 Apr 17, 2025 pm 04:48 PM

如何更新本地 Git 代碼?用 git fetch 從遠程倉庫拉取最新更改。用 git merge origin/<遠程分支名稱> 將遠程變更合併到本地分支。解決因合併產生的衝突。用 git commit -m "Merge branch <遠程分支名稱>" 提交合併更改,應用更新。

如何解決PHP項目中的高效搜索問題? Typesense助你實現! 如何解決PHP項目中的高效搜索問題? Typesense助你實現! Apr 17, 2025 pm 08:15 PM

在開發一個電商網站時,我遇到了一個棘手的問題:如何在大量商品數據中實現高效的搜索功能?傳統的數據庫搜索效率低下,用戶體驗不佳。經過一番研究,我發現了Typesense這個搜索引擎,並通過其官方PHP客戶端typesense/typesense-php解決了這個問題,大大提升了搜索性能。

git怎麼刪除倉庫 git怎麼刪除倉庫 Apr 17, 2025 pm 04:03 PM

要刪除 Git 倉庫,請執行以下步驟:確認要刪除的倉庫。本地刪除倉庫:使用 rm -rf 命令刪除其文件夾。遠程刪除倉庫:導航到倉庫設置,找到“刪除倉庫”選項,確認操作。

See all articles