Git 常用功能詳解

1. Git

分佈式版本控制系統

每個開發可以有屬於自己的整個工程的本地拷貝。隔離的環境讓各個開發者的工作和項目的其他部分修改獨立開來

即自由地提交到自己的本地倉庫,先完全忽略上游的開發,直到方便的時候再把修改反饋上去。

2. 初始化

1) 創建線上倉庫

2) 創建本地倉庫

git init //創建本地倉庫
git remote add upstream set-url //遠程倉庫地址設置別名
git add . //提交工作區內容到緩存區.
git commit -m '備註' //提交緩存區內容到本地版本庫
git push upstream master //提交本地版本庫到線上版本庫

3. 協同開發

1) 同步線上代碼

git pull upstream master
git fetch upstream && git rebase upstream/master

git pull 等同 git fetch && git merge

2) 開發分支

git checkout -b dev190719 //新建開發分支

    1.從主分支checkout 新分支作爲自己本地開發分支
    2.本地開發分支不要提交線上版本庫 只在本地維護
    3.開發完成後merge到主分支
    4.長時間開發 定期rebase線上代碼到開發分支// 123-56-78
    
    git checkout除了切換分支,還可以撤銷本地修改(暫存區同步覆蓋開發區)

git merge | git rebase

    git merge 
    當本地主版本有修改,高於初始版本,開發分支合併合併出一個版本號,原版本號都會保留
    git rebase 
    1.暫存當前修改
    2.回退到修改前版本,
    3.版本更新到最羞版本
    4.暫存修改恢復到當前(願分支版本號丟失,產生新版本號)
    
    通用場景
    本地開發分支 定時rebase線上主分支
    主分支合併開發分支儘量使用merge

3) 處理緊急BUG

git commit -a -m '暫存' || git stash

暫存當前開發進程 切換到主分支解決問題
git commit 是直接提交當前修改到本地版本庫
爲避免過多無用提交,建議使用 git stash

git stash 是提交修改到暫存。使用命令 git stash pop 恢復

git checkout master //切回主分支 git checkout bug1907 //新建bug分支處理問題

    切出一個分支處理bug,處理完成後合併到測試分支提交測試,
    測試通過後,將當前分支merge到主分支
    處理完成後切回 開發分支 繼續開發

git stash pop //切回開發分支後,恢復暫存區修改 到 工作區

4)合併衝突解決

git rebase branch

rebase衝突解決
解決不了
git rebase --abort

git status 查看衝突文件 
解決以後git add . 提交衝突
git rebase --continue
git status 查看衝突文件
解決以後git add . 提交衝突
git rebase --continue
.....
    

git merge branch

解決不了
git merge --abort

簡單粗暴
git status查看衝突文件

git add .
git commit -a -m ''

4. 版本回滾

git checkout && git reset

git checkout 是安全的,只會回退head的指向,不回刪除已存的版本庫版本
git reset 回退會刪除一提交 除非線上回滾,儘量不用

5. 常用命令

git diff

可以對比 版本 分支 文件
對比分支不同
git dif branc1 branc2 
對比版本號不同
git diff xxxx xxxx
對比不同版本 某個文件or目錄異同
git diff branch1 branch2   path 

git log && glog

查看版本更新日誌

git rebase -i head~*

把多餘的commit壓縮到一個

git branch -v

查看本地分支列表

git branch -d |-D

刪除分支 -d 刪除本地以合併分支 -D 強制刪除本地未合併分支

git status

最常用,查看當前緩存區狀態
新建 修改 衝突合併

git checkout -b bra upstream/bran

以某個分支爲基礎創建分支
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章