1. 程式人生 > >1、Git基礎

1、Git基礎

拷貝 分支 hang 隱藏 director 所有 tlab ranch 工作區

1.1、版本管理的演變

  1、VCS(版本控制系統)出現前

  用目錄拷貝區別不同版本

  公共文件容易被覆蓋

  成員溝通成本高

  2、集中式VCS

  有集中的版本管理服務器

  具備文件版本管理和分支管理能力

  集成效率有明顯的提高

  客戶端必須時刻和服務器相連

  3、分布式VCS

  服務端和客戶端都有完整的版本庫

  脫離服務端,客戶端照樣可以管理版本

  查看歷史和版本比較等多數操作,都不需要訪問服務器,比集中式VCS更能提高版本管理效率

  4、Git的特點

  最優的存儲能力

  非凡的性能

  開源

  容易做備份

  支持離線操作

  容易定制工作流程

  學習順序:Git -> github -> gitlab

1.2、安裝Git

  https://git-scm.com/downloads

1.3、使用Git之前需要做的最小配置

 

## 設置name 和 email 地址,出現問題發郵件給你
$ git config --global user.name dy201
$ git config --global user.email [email protected]

##local 、global system (缺省 = local)
$ git config 
--local 對某特定倉庫起作用 $ git config --global 對所有倉庫起作用 $ git config --global 對系統所有登錄的用戶起作用 ## 顯示 config 的配置,加 --list $ git config --list --local $ git config --list --global $ git config --list --global

1.4、創建第一個倉庫並配置local用戶信息

 建Git倉庫

  兩種場景:

  1、 把已有的項目代碼納入Git管理

  $ cd 項目代碼所在的文件夾

  $ git init

  2、 新建的項目直接用Git管理(下面舉例說明)

  $ cd 某個文件夾

  $ git init you_project #會在當前路徑下創建和項目名稱同名的文件(隱藏文件夾.git)

  $ cd your_project

  

  文件準備: 

$ cd /data/
k@k-PC MINGW64 /data
$ ll
total 1
-rw-r--r-- 1 k 197121 13 三月   22 23:14 readme

  操作:

##代碼存放目錄(自己創建)
$ cd /user/dy201/101-GitRunner/git_learning/
k@k-PC MINGW64 /user/dy201/101-GitRunner

##設置為項目目錄
$ git init git_learning
Initialized empty Git repository in D:/Git/user/dy201/101-GitRunner/git_learning/.git/

##進入項目目錄,查看結構
k@k-PC MINGW64 /user/dy201/101-GitRunner/git_learning (master)
$ ls -al
total 4
drwxr-xr-x 1 k 197121 0 三月   22 23:09 ./
drwxr-xr-x 1 k 197121 0 三月   22 23:09 ../
drwxr-xr-x 1 k 197121 0 三月   22 23:09 .git/

##在項目目錄中放入數據
$ cp /data/readme  .

##將數據加入git
$ git add readme
warning: LF will be replaced by CRLF in readme.
The file will have its original line endings in your working directory

##查看數據狀態
$ git status
On branch master

No commits yet

Changes to be committed:
  (use "git rm --cached <file>..." to unstage)

        new file:   readme

##提交數據
$ git commit -m "add readme"
[master (root-commit) 226b8bf] add readme
 1 file changed, 2 insertions(+)
 create mode 100644 readme

##查看git日誌
$ git log
commit 226b8bf13841275f3404945a3853f1b4d1adc28c (HEAD -> master)
Author: k <[email protected]>
Date:   Fri Mar 22 23:21:29 2019 +0800

    add readme

  使用時,local 優先級比 global 高

1.5、通過幾次commit來認識工作區和暫存區

1.6、給文件重命名的簡便方法

1.7、通過git log 查看版本演變歷史

1.8、Gitk:通過圖形界面工具來查看版本歷史

1.9、探秘git目錄

1.10、Commit、tree和blob三個對象之間的關系

1.11、小練習:數一數tree的個數

1.12、分離頭指針情況下的註意事項

1.13、進一步理解HEAD和branch

1、Git基礎