git
git 是一個版本管理系統(VCS),可以在任何時間點,將文檔的狀態作為一份更新記錄保存起來,並且在任意的時間點,恢復更新記錄
版本管理
版本管理是一種記錄文件變化的方式,方便查閱特定版本號的文件內容
人為維護文檔版本問題
1、文檔數量紊多,命名不清晰,導致文檔版本混亂
2、每次編譯文檔需要賦值,不方便
3、多人同時編輯一個文檔,容易產生覆蓋
git使用
在使用git前,需要全局配置git
- 提交用戶名 - git config --global user.name “用戶名”
- 提交郵箱 - git config --gllobal user.email “郵箱”
**注:全局配置只執行一次,若需要修改,重復上述命令
git提交命令
-
git init 初始化git倉庫
-
git status 查看文件狀態
-
git add . 提交新增文件內容
-
git commit -m “commit” 提交文件說明
-
git log 查看提交記錄
-
git remote add origin https://gitee.com/xxxx/xxxxx.git 與遠程倉庫關聯
-
git push -u origin master 把本地分支推送到遠程
-
git clone https://gitee.com/xxxx/xxxxx.git 下載遠程master分支(克隆)
-
git pull --rebase origin master 獲取遠程庫與本地同步合並(遠程倉庫不為空)
-
git remote remove origin 斷開遠程庫與本地間的連接
-
在git bash中移除本地與git之間的連接
find . -name “.git” | xargs rm -Rf 移除本地與git之間的連接
git分支
分支是當前工作目錄中代碼的一份副本,使用分支,可以讓我們從開發支線上分離出來,以免影響開發主線
查看分支
- git branch 查看本地分支
- git branch -a 查看所有分支(本地與遠程)
- git branch -r 查看遠程分支
- git branch -vv 查看本地分支與遠程分支之間的關聯關系
分支命令
- git branch 分支名/develop 創建新的分支
- git checkout 分支名/develop 切換分支(在暫存區中覆蓋原工作目錄中的分支)
- git rm --cached 分支名/develop 從暫存區刪除分支
- git branch -d 分支名 刪除分支(分支被合並后才允許刪除)/(-D強制刪除)
- git merge 來源分支 合並分支
- git rest --hard commitID 從git倉庫中將指定的更新記錄恢復出來,覆蓋暫存區和工作區
主分支(master) 第一次向git倉庫中提交更新是自動產生的分支
開發分支(develop) 作為開發的分享,是基於master分支創建的
功能分支(feature) 作為開發具體功能的分支,基於開發分支創建
分支間的關系
功能分支 -> 開發分支 -> 主分支
暫時保存更改
提取分支上所有的改動並且存儲起來,可以讓開發人員有一個干凈的工作副本,臨時去網其他工作
應用場景:分支臨時切換
*存儲臨時改動: git stash
*恢復改動: git stash pop
git遠程分支
拉取遠程git倉庫里的指定分支到本地(本地不存在的分支)
- git checkout -b 本地分支 origin/遠程分支 //拉取遠程里的分支(本地不存在)
- git checkout 分支名 //切換分支
若出現提示:
fatal: Cannot update paths and switch to branch ‘遠程分支’ at the same
time. Did you intend to checkout ‘origin/遠程分支’ which can not be
resolved as commit?
表示拉取不成功
則需要先執行
- git fetch
在執行
- git checkout -b 本地分支名 origin/遠程分支名
本地檢出新分支並推送到遠程
- git checkout -b develop 分支名 //創建並切換本地分支
*[相當於 git branch dev //創建分支
git checkout dev //選擇分支
]
- 該分支是從當前分支檢出的,所以文件內容與當前分支一樣
- git branch origin develop //創建遠程分支
- git push --set-upstream origin 分支名 //推送本地分支到遠程倉庫
如果遠程分支已存在,就在創建本地分支時與其關聯
- git checkout -b 本地分支 origin/遠程分支
合並分支
切回master
- git checkout master
- git merge 本地分支 //合並分支
- git push origin master //推送
刪除分支
-
git branch -d dev //刪除本地分支
-
git push origin -d dev //刪除遠程分支