Git版本管理介紹(一)
集中式版本控制系統
CVS及SVN都是集中式的版本控制系統,版本庫是集中存放在中央伺服器的,而幹活的時候,用的都是自己的電腦,所以要先從中央伺服器取得最新的版本,然後開始幹活,幹完活了,再把自己的活推送給中央伺服器。集中式版本控制系統最大的毛病就是必須聯網才能工作,若控制系統的中央伺服器出了問題,所有人就都沒法幹活了。
分散式版本控制系統
Git是分散式版本控制系統,分散式版本控制系統根本沒有“中央伺服器”,每個人的電腦上都是一個完整的版本庫,這樣,你工作的時候,就不需要聯網了,因為版本庫就在你自己的電腦上。既然每個人電腦上都有一個完整的版本庫,那多個人如何協作呢?比方說你在自己電腦上改了檔案A,你的同事也在他的電腦上改了檔案A,這時,你們倆之間只需把各自的修改推送給對方,就可以互相看到對方的修改了。
分散式版本控制系統的安全性更高,因為每個人電腦裡都有完整的版本庫,某一個人的電腦壞掉了,從其他人那裡複製一個就可以了。在實際使用分散式版本控制系統的時候,很少在兩人之間的電腦上推送版本庫的修改,通常有一臺充當“中央伺服器”的電腦,但這個伺服器的作用僅僅是用來方便“交換”大家的修改,沒有它大家也一樣幹活,只是交換修改不方便而已。
文字檔案v.s.圖片視訊
所有的版本控制系統,其實只能跟蹤文字檔案的改動,比如TXT檔案,網頁,所有的程式程式碼等等,Git也不例外。版本控制系統可以告訴你每次的改動,比如在第5行加了一個單詞“Linux”,在第8行刪了一個單詞“Windows”。而圖片、視訊這些二進位制檔案,雖然也能由版本控制系統管理,但沒法跟蹤檔案的變化,只能把二進位制檔案每次改動串起來,也就是隻知道圖片從100KB改成了120KB,但到底改了啥,版本控制系統不知道,也沒法知道。
有關Git命令介紹,參考https://git-scm.com/docs。下面介紹在本地工作區建立一個Git版本庫的基本操作。
git config命令,配置機器id資訊,global引數
Git是分散式版本控制系統,每個機器都必須登記自己的相關id資訊。git config命令用了global引數,表示所配置機器上所有的Git倉庫都使用相同的配置,當然也可以對某個倉庫指定不同的使用者名稱和Email地址。
YYwhdeMacBook-Pro:~ yywh$ ls
Desktop Music anaconda3
Documents Pictures eclipse
Downloads Public eclipse-workspace
IdeaProjects PycharmProjects workspace
Library SELF_USE_LEARN
YYwhdeMacBook-Pro:~ yywh$ git config --global user.name "Yu Yg"
YYwhdeMacBook-Pro:~ yywh$ git config --global user.email "898486@qq.com"
git init命令,把“建立的版本庫/倉庫目錄”變成“Git可管理的倉庫”
YYwhdeMacBook-Pro:~ yywh$ mkdir GITWORKSPACE
YYwhdeMacBook-Pro:~ yywh$ cd GITWORKSPACE/
YYwhdeMacBook-Pro:GITWORKSPACE yywh$ git init #
Initialized empty Git repository in /Users/yywh/GITWORKSPACE/.git/
YYwhdeMacBook-Pro:GITWORKSPACE yywh$ ls -ah
. .. .git
從遠處倉庫clone下來的一個專案就是一個版本庫;本地工作區資料夾 地位 等同於 遠端倉庫主機origin;本地工作區資料夾(遠端倉庫主機origin)裡 都可以包含 多個專案(就是多個版本庫);每個版本庫 裡面 都至少有一個master分支 和 stage分支(也就是暫存區),可以進入專案目錄資料夾下,建立你自己的分支;在本地clone專案時,pwd目錄可以只是一個普通資料夾,沒必要是一個git init的版本庫!
相關文章
- 版本管理工具Git(一)簡要介紹Git
- git引入_版本控制介紹Git
- git使用系列01-->版本控制介紹Git
- git介紹Git
- Git學習1 --- 版本控制工具詳細介紹Git
- GIT版本管理Git
- 版本管理GitGit
- Git元件介紹Git元件
- Git--介紹Git
- 第一章 :Git 介紹Git
- 程式碼管理工具介紹——Git與GitHubGithub
- Git 分支操作介紹Git
- Git詳細介紹Git
- 『現學現忘』Git基礎 — 1、版本控制系統介紹Git
- GIT版本管理規範Git
- JavaScript ECMAScript版本介紹JavaScript
- Git_簡單介紹Git
- (2)Spring Cloud版本介紹SpringCloud
- Python多版本管理器-pyenv 介紹及部署記錄Python
- 程式碼管理工具-Git基礎介紹及常用技巧Git
- Git發展簡單介紹Git
- Git ORIG_HEAD用法介紹Git
- 【Linux】Linux版本介紹(核心版本和發行版本)Linux
- JB的git之旅-git介紹及GitHub配置教程Github
- 『現學現忘』Git基礎 — 3、Git介紹Git
- repo管理git倉庫——回退版本Git
- Git | 如何優♂雅地管理版本Git
- SAP TRM金融資產風險管理模組雲版本介紹
- Git 介紹與常用命令Git
- 「Git」常用工作流介紹Git
- JB的git之旅-gitlab ci介紹Gitlab
- svn和git版本管理優缺點Git
- 版本管理三國志 (CVS, Subversion, git)Git
- Windows Server 2016各種版本介紹WindowsServer
- MySQL版本發展歷史介紹MySql
- windows10系統版本介紹Windows
- 螞蟻部落Git教程簡單介紹Git
- 介紹一款docker管理工具——portainerDockerAI