Git 快速入門

2021-06-28 00:43:48 字數 3618 閱讀 6142

一種分布式版本控制系統。

版本庫是集中存放在**伺服器的,而幹活的時候,用的都是自己的電腦,所以要先從**伺服器取得最新的版本,然後開始幹活,幹完活了,再把自己的活推送給**伺服器。**伺服器就好比是乙個圖書館,你要改一本書,必須先從圖書館借出來,然後回到家自己改,改完了,再放回圖書館。

集中式版本控制系統最大的毛病就是必須聯網才能工作,如果在區域網內還好,頻寬夠大,速度夠快,可如果在網際網路上,遇到網速慢的話,會把人憋死。

分布式版本控制系統與集中式版本控制系統有何不同呢?首先,分布式版本控制系統根本沒有「**伺服器」,每個人的電腦都是乙個完整的版本庫,這樣,你工作的時候,就不需要聯網了,因為版本庫就在你自己的電腦上。既然每個人電腦上都有乙個完整的版本庫,那多個人如何協作呢?比方說你在自己電腦上改了檔案a,你的同事也在他的電腦上改了檔案a,這時,你們倆之間只需把各自的修改推送給對方,就可以互相看到對方的修改了。

和集中式版本控制系統相比,分布式版本控制系統的安全性要搞很多,因為每個人電腦裡都有完整的版本庫,某乙個人的電腦壞掉了不要緊,隨便從其他人那裡複製乙個就可以了。而集中式版本控制系統的**伺服器要是出了問題,所有人都無法幹活了。

在實際使用分布式版本系統的時候,其實很少在兩人之間的電腦上推送版本庫的修改,因為可不在乙個區域網內,兩台電腦互相訪問不了,也可能今天你的同事病了,他的電腦壓根沒有開機。分布式版本控制系統通常也有一台充當「**伺服器」的電腦,但這個伺服器的作用僅僅是用來方便「交換」大家的修改,沒有它大家也一樣幹活,只是交換修改不方便而已。

當然,git的優勢不單是不必聯網這麼簡單,還有它極其強大的分支管理,把svn等遠遠拋在了後面。

安裝完成後,在開始選單裡找到git->git bash,乙個類似命令列視窗的東西,就說明git安裝成功!

安裝完成後,還需要最後一步設定,在命令列輸入:

$ git config --global user.name "your name"

$ git config --global user.email "your email"

注意git config命令的--global引數,用了這個引數,表示你這台機器行所有的git倉庫都會使用這個配置,當然也可以對某個倉庫指定不同的使用者名稱和email位址。

版本庫,又名倉庫,英文名repository,你可以簡單理解成乙個目錄,這個目錄裡的所有檔案都可以被git管理起來,每個檔案的修改、刪除,git都能跟蹤,以便任何時刻都可以追蹤歷史,或者在將來某個時刻可以「還原」。

第一步,選擇乙個合適的地方,建立乙個空目錄:

$ mkdir myrepo

$ cd myrepo

$ pwd

/c/users/roger/myrepo

第二步,通過git init命令把這個目錄變成git可以管理的倉庫:

$ git init

initialized empty git repository in c:/users/roger/myrepo/.git/

至此,倉庫建立完成且提示你是這是乙個空的倉庫(empty git repository)。當然,不一定必須在空目錄下建立git倉庫,選擇乙個已經有東西的目錄也是可以的。

不幸的是,microsoft的word格式是二進位制格式,因此,版本控制系統是沒法跟蹤word檔案的改動的。

因為文字是有編碼的,比如中文有常用的gbk編碼,日文有shift_jis編碼,如果沒有歷史遺留的問題,強烈建議使用標準的utf-8編碼,所有語言使用同一種編碼,既沒有衝突,又被所有平台所支援。

把檔案新增到版本庫也是很簡單的事情。

首先,我們編寫乙個readme.txt檔案,內容如下:

git is a version control system.

git is free software.

注意,該檔案一定要放在myrepo目錄下(子目錄也行)。

接下來,把這個檔案放到git倉庫。這個過程只需要兩步。

第一步,用命令git add告訴git,把檔案新增到倉庫:

$ git add readme.txt

執行上面的命令,沒有任何的顯示,這就對了!unix的哲學是「沒有訊息就是好訊息。」,說明新增成功。

第二步,用命令git commit告訴git,把檔案提交到倉庫:

$ git commit -m "wrote a readme file"

[master (root-commit) dc767dc] wrote a readme file

1 file changed, 2 inserttions(+)

create mode 100644 readme.txt

git commit命令中-m後面輸入的是本次提交的說明,可以輸入任意內容,建議填寫有意義的內容,方便日後從歷史記錄裡快速找到改動記錄。

git commit命令執行成功後會告訴你,1個檔案被改動(新新增的readme.txt檔案),插入了兩行內容(readme.txt有兩行內容)。

為什麼git新增檔案需要add,commit這麼兩步呢?因為commit可以一次提交很多檔案,所以你可以多次add不同的檔案。比如:

$ git add file1.txt

$ git add file2.txt

$ git add file3.txt

$ git commit -m "add 3 files."

詳細教程請戳這裡:git教程 - 廖雪峰的官方**

git快速入門

我們的 倉庫是用gitlab來管理的,要檢視自己能訪問哪些倉庫,以及倉庫的位址,請先熟悉一下gitlab系統的使用 gitlab入門 以下教程假設你已經知道如何在系統開啟終端視窗,並知道如何輸入shell命令。現在開啟終端,然後繼續。在提交 之前必須設定自己的使用者名稱和email git conf...

git快速入門

看到這裡,相信你已經能夠回滾遠端分支的版本了,那麼你也許會問了,回滾公共遠端分支和回滾自己的遠端分支有區別嗎?答案是,當然有區別啦。乙個顯而易見的問題 如果你回退公共遠端分支,把別人的提交給丟掉了怎麼辦?下面來分析 假如你的遠端master分支情況是這樣的 a1 a2 b1 其中a b分別代表兩個人...

快速入門git

1.1 git是什麼 git是一種版本控制器.更直白說,團隊開發時,管理 用的軟體.面試時,容易被問到的乙個東西.1.2 安裝 ubuntu,debian sudo apt get install gitcentions,redhat系統 yum install git1.3報家門 人在江湖,豈能沒...