1、Git基礎
阿新 • • 發佈:2019-03-23
拷貝 分支 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基礎