1、簡介
git是什么?
分布式的版本控制系統(tǒng)
git的優(yōu)點:
1、直接記錄快照,而非差異比較
這是 Git 與幾乎所有其它版本控制系統(tǒng)的重要區(qū)別,也保證了git的高效
2、近乎所有操作都是本地執(zhí)行
在不聯網的狀態(tài)下也可以順利完成大部分的工作
3、保證完整性
Git 中所有數據在存儲前都計算校驗和,然后以校驗和來引用;若你在傳送過程中丟失信息或損壞文件,Git 就能及時發(fā)現
4、一般只添加數據
可以盡情做各種嘗試,而沒有把事情弄糟的危險
基本的 Git 工作流程:
1、在工作目錄中修改文件。
2、暫存文件,將文件的快照放入暫存區(qū)域。
3、提交更新,找到暫存區(qū)域的文件,將快照永久性存儲到 Git 倉庫目錄。
Git 倉庫目錄:
--用來保存項目的元數據和對象數據庫的地方。 Git中最重要的部分,克隆倉庫時,拷貝的就是這里的數據。
工作目錄:
--是對項目的某個版本獨立提取出來的內容。 這些從 Git 倉庫的壓縮數據庫中提取出來的文件,放在磁盤上供你使用或修改。
暫存區(qū)域:
--是一個文件,保存了下次將提交的文件列表信息,一般在 Git 倉庫目錄中。
2、安裝Git
在使用 git 之前,首先需要將它安裝在你的計算機上。如已經安裝,最好將它升級到最新的版本。
可以通過軟件包或者其它安裝程序來安裝,或者下載源碼編譯安裝:
# ubuntu
$ sudo apt-get install git
3、初次運行 Git 前的配置
- 定制Git 環(huán)境
Git 自帶一個 git config 的工具來幫助設置控制 Git 外觀和行為的配置變量。 這些變量存儲在三個不同的位置
1)、/etc/gitconfig 文件: 包含系統(tǒng)上每一個用戶及他們倉庫的通用配置。
--如果使用帶有 --system 選項的 git config 時,它會從此文件讀寫配置變量。
2)、~/.gitconfig 或 ~/.config/git/config 文件:只針對當前用戶。
--可以傳遞 --global 選項讓 Git 讀寫此文件。
3)、當前使用倉庫的 Git 目錄中的 config 文件(就是 .git/config):針對該倉庫。
#注意:每一個級別覆蓋上一級別的配置,所以 .git/config 的配置變量會覆蓋 /etc/gitconfig 中的配置變量。
- 用戶信息
設置你的用戶名稱與郵件地址:
$ git config --global user.name "John Doe"
$ git config --global user.email johndoe@example.com
- 配置文本編輯器
通過如下命令配置默認文本編輯器:
$ git config --global core.editor gedit
- 檢查配置信息
可以使用如下命令來列出所有 Git 當時能找到的配置
git config --list
- 忽略文件
通常有些自動生成的文件,比如日志文件,或者編譯過程中創(chuàng)建的臨時文件等,無需納入 Git 的管理,也不希望它們總出現在未跟蹤文件列表。
在這種情況下,我們可以創(chuàng)建一個名為 .gitignore 的文件,列出要忽略的文件模式。
$ cat .gitignore
*.[oa]
*~
4、常用命令
- 幫助命令
git help
--用來顯示任何命令的 Git 自帶文檔。
--對于每一個命令的完整的可選項及標志列表,你可以隨時運行 git help <command> 命令來了解
- 在現有目錄中初始化倉庫
git init
- 克隆現有的倉庫
git clone [url]
- 檢查當前文件狀態(tài)
git status
- 跟蹤新文件/暫存已修改文件
git add
- 查看文件具體修改
git diff
--將通過文件補丁的格式顯示具體哪些行發(fā)生了改變
- 提交命令
git commit
- 移除文件
git rm
- 查看提交歷史
git log
-p,用來顯示每次提交的內容差異
-2, 來僅顯示最近兩次提交
- 撤消對文件的修改
git checkout --
- 查看分支
git branch
- 創(chuàng)建分支
git branch <name>
- 切換分支
git checkout <name>
git switch <name>
- 創(chuàng)建+切換分支
git checkout -b <name>
git switch -c <name>
- 合并某分支到當前分支
git merge <name>
- 刪除分支
git branch -d <name>
- 查看遠程庫信息
git remote -v
- 從本地推送分支
git push origin branch-name
--如果推送失敗,先用git pull抓取遠程的新提交
- 在本地創(chuàng)建和遠程分支對應的分支
git checkout -b branch-name origin/branch-name
- 建立本地分支和遠程分支的關聯
git branch --set-upstream branch-name origin/branch-name
- 從遠程抓取分支
git pull
--如果有沖突,要先處理沖突
(待更新)
參考資料:
https://www.liaoxuefeng.com/wiki/896043488029600
https://www.progit.cn/