Git的思維導通圖:
1 Git版本控制下的三種工程區域 & 文件狀態
Git版本控制下的工程區域只有三種:
1.版本庫( Repository )
在工作區中有一個隱藏目錄.git,這個文件夾
就是Git的版本庫,裏面存放了Git用來管理該
工程的所有版本數據,也可以叫本地倉庫。
2.工作區( Working Directory )
日常工作的代碼文件或者文檔所在的文件夾。
3.暫存區( stage )
一般存放在工程根目錄 .git/index文件中,
所以我們也可以把暫存區叫作索引(index)。
Git版本控制下的文件狀態只有三種:
1.已提交( committed )
該文件已經被安全地保存在本地數據庫中了;
2.已修改(modified)
修改了某個文件,但還沒有提交保存;
3.已暫存(staged)
把已修改的文件放在下次提交時要保存的清單中。
2 Git常用命令
工程準備
初始化倉—— git init
工程克隆—— git clone
查看工作區
查看工作區的修改內容—— git diff
查看工作區文件狀態—— git status
文件修改後提交推送
新增/刪除/移動文件到暫存區—— git add/ git rm/ git mv
提交更改的文件—— git commit
推送遠端倉庫—— git push
查看日誌
查看當前分支上的提交日誌—— git log
分支管理
列出本地分支—— git branch
新建分支—— git branch / git checkout –b
刪除分支—— git branch –d
切換分支—— git checkout
更新分支—— git pull
合併分支—— git merge
撤銷操作
強制回退到歷史節點—— git reset
回退本地所有修改而未提交的—— git checkout
分支合併
合併目標分支內容到當前分支—— git merge/git rebase
Android使用Git作爲代碼管理工具,開發了Gerrit進行代碼審覈以便更好的對代碼進行集中式管理,還開發了Repo命令行工具,對Git部分命令封裝,將百多個Git庫有效的進行組織。
repo一些命令:
repo init —— 檢出
repo sync —— 克隆或同步
repo start —— 創建特性分支
repo status —— 同時顯示暫存區和本地文件修改狀態
repo checkout —— 檢出start創建的分支
repo branchs —— 讀取各個項目的分支列表並彙總顯示
repo diff —— 分別顯示各個項目工作區下的文件差異
repo stage —— 挑選各個項目工作區中的改動加入暫存區
repo upload —— 推送到代碼審查服務器
repo download —— 代碼審覈者下載和評估貢獻者提交的修訂
repo rebase —— 變基
repo prune —— 掃描項目的各個分支,並刪除已經合併的分支
repo abandon —— 直接刪除分支
repo grep —— 內容查找
repo smartsync —— 相當於repo sync -s
repo forall —— 迭代器
repo manifest —— 顯示manifest文件內容
repo version —— 版本號
repo selfupdate —— repo自身更新
不管是git指令還是repo指令都是強操作性質的,所以我們只有在使用操作中才能真正的掌握。