1. git 誕生
2. git 是乙個分布式版本控制系統
3. 集中式 和 分布式版本控制系統的區別
分布式 版本控制系統:
4. 常用的版本控制對比
svn:
git:
1. 版本庫、版本、版本號
版本號:每乙個版本的唯一標識;每次提交日誌,git都會生成乙個版本號;和svn不一樣,git的commit id不是1,2,3……遞增的數字;而是乙個sha1計算出來的乙個非常大的數字,用十六進製制表示
**當前版本:**git中,用head
表示當前版本;head
是指向master
分支的指標
2. 工作區、暫存區
工作區 、暫存區 、版本庫的對應關係:
方式一:在現有資料夾中 git 初始化git init
第一步:檢視 倉庫中被改動檔案的 狀態:git status
(1) 檢視檔案變化:尚未暫存的檔案git diff
(2) 檢視檔案變化:已暫存 將要新增到下次提交的檔案git diff --cahced
(3) 一鍵還原的命令git checkout -- 檔案
:三種情況,如下
第二步:將有變動的檔案 放到 快取區:git add *
、git add -a
第三步:將快取區檔案 提交到 本地倉庫:git commit -m "日誌"
1. 檢視詳細日誌git log
2. 檢視簡要日誌(常用)git log --oneline
3. 檢視詳細版本號日誌git log --pretty=oneline
4. 檢視所有日誌(含回退前的日誌)git reflog
5. 版本回退git reset --hard 版本號前幾位
、git reset --hard head^
方式二:
6. 版本回退後 強行上推git push -f origin master
1. git 分支開發工作流
2. git 分支 常見操作
(1) 檢視所有分支(當前分支前面有 * 表示)git branch
(2) 檢視本地分支 和 所有遠端分支git branch -a
(3) 建立分支git branch 分支名
(4) 刪除本地分支git branch -d 分支名
、 刪除遠端分支git push origin --d 分支名
刪除 遠端分支:git push origin --d 分支名
(5) 切換分支git checkout 分支名
(6) 建立 並 切換分支git checkout -b 分支名
(7)分支 合併:指定分支 到 當前分支git merge 分支名
、git merge --no-ff 分支名
(推薦使用)【重要】
結果:master
分支上**更新,但沒有提交記錄(沒有dev
分支上的日誌提交記錄)
結果:master
分支上**更新,同時會dev
分支上的日誌提交記錄
(8)分支 變基— 整合來自不同分支 ** 的另一種形式【重要】
git merge rebase dev
命令:
參考一參考二
**衝突:merge 與 rebase 不同的解決策略
1. git 分支管理策略
(1) 主分支 master
(2) 開發分支 dev
(3) 功能分支 feature(臨時)
git checkout -b feature-x develop
git checkout develop
git merge --no-ff feature-x # 開發完成後,將功能分支合併到develop分支
git branch -d feature-x # 刪除feature分支
(4) 預發布分支 release(臨時)git checkout -b release-1.2 develop
git checkout master
git merge
--no-ff release-1.2 # 確認沒有問題後,合併到master分支
git tag -a
1.2# 對合併生成的新節點,做乙個標籤
git checkout develop
git merge
--no-ff release-1.2 # 再合併到develop分支
git branch -d release-1.2
# 刪除預發布分支
(5) bug分支(臨時)
git checkout -b fixbug-0.1 master
git checkout master
git merge
--no-ff fixbug-0.1 # 修補結束後,合併到master分支
git tag -a
0.1.1
git checkout develop
git merge
--no-ff fixbug-0.1 # 合併到develop分支
git branch -d fixbug-0.1
# 刪除"修補bug分支"
2. 解決:分支衝突
3. 解決:緊急bug
4. 開發:不確定的功能
Git基礎知識教程整理(Git分支管理)
git branch develop git checkout develop 或者 git checkout b developgit checkout命令加上 b引數表示建立並切換。git branch或者 git branch a 後面不跟分支名時指列出所有分支,當前分支前面加 git bra...
git管理分支指令
1.分支指令 git branch檢視本地分支 git branch a檢視本地分支和遠端分支 git branch dev建立本地dev分支 git checkout dev切換到dev分支 git merge dev合併dev分支 git branch d dev刪除dev分支 git bran...
git 常用基礎知識
建立版本庫 版本庫 responsitory 可以簡單理解成為乙個目錄,這個目錄裡面的所有檔案都可以被git管理起來。1 建立乙個新目錄 makdir learngit cd learngit pwd pwd 命令用於顯示當前目錄 2 通過git init命令把這個目錄變成git可以管理的倉庫 把檔...