Git—基礎知識及經常使用命令(系列一)

一、集中式和分佈式區別

1.1 集中式

  集中式版本控制系統,版本庫是集中存放在中央服務器的。用戶都是用本身的電腦,要先從中央服務器取得最新的版本,而後coding,最後把代碼推送到中央服務器。
  集中式版本控制系統的弊端是須要聯網工做;
集中式linux

1.2 分佈式

分佈式

  分佈式版本控制系統根本沒有「中央服務器」,每一個人的電腦上都是一個完整的版本庫,coding時無需聯網,版本庫就在各個用戶的本地電腦上。
  相比於集中式版本控制,安全性更高,每一個用戶電腦都有完整的版本庫。
  Git擁有強大的分支管理,這是CVS、SVN不具有的優點。git

二、git的安裝和使用

2.1 git安裝

(1)linux下:sudo apt-get install git
(2)windows下:安裝gitbushwindows

2.2 git使用

(1)建立工做區
  在本地電腦裏建立空目錄,即爲工做區,這個目錄裏的全部文件均可以被git管理,每一個文件的修改、刪除都可以被git追蹤,便於後期追蹤歷史記錄,在某個時刻能夠還原;
(2)使用git管理倉庫(版本庫)
  git init
  在該倉庫中會多一個.git目錄;(若是不須要git管理,則刪除這個目錄就能夠實現)
注意
  若在linux看不到這個目錄,可使用ls -ah查看這個隱藏的目錄;
(3)git改動
  版本控制系統沒法追蹤圖片、視頻等二進制文件,且Microsorf的word格式的也是二進制格式,因此也沒法追蹤,只能知道其大小的改變。版本控制系統只能追蹤文本文件的改動,如txt文件。安全

2.3 git操做案例

如在git倉庫中添加一個test.txt文件服務器

2.3.1 將文件添加到倉庫:

  git add test.txt分佈式

2.3.2 將文件提交到倉庫:

  git commit -m 「提交test.txt文件」
-m後面輸入的是本次提交的說明,便於後期查看提交記錄;
注意
添加文件到Git倉庫,分兩步:
  使用命令git add <file>,注意,可反覆屢次使用,添加多個文件也可使用git add -u一次性添加追蹤的文件;
  使用命令git commit -m <message>,完成。版本控制

2.3.3 查看提交歷史記錄

  git log
  git log --pretty=oneline
每提交一個版本,git就會將它們自動串成一條時間線;日誌

2.3.4 查看文件區別

  git diff <filename>
查看工做區和版本庫裏最新版本的區別:
  git diff HEAD -- <filename>code

2.3.5 查看某次提交修改不一樣之處

  git show <commit-hash-id>視頻

2.4 git log使用

  git log

2.4.1 查看特定的人的提交記錄

  git log –author=xiaoming

2.4.2 壓縮顯示log

一個壓縮後的每一條記錄只佔一行的輸出:
  git log –pretty=oneline

2.4.3 查看文件改變

  git log --name-status

2.4.5 簡略查看日誌

  git log --graph --pretty=oneline --abbrev-commit

3.2 回退版本

(1)使用git log查看提交記錄進行回退
  git reset --hard xxx
若要回退到上一個版本:
  git reset --hard HEAD^
或者使用commit-id(前幾位便可)
  git reset --hard commit-id
(2)若想要恢復以前的回退
使用git reflog查看commit-id

相關文章
相關標籤/搜索