git常用命令
常用命令
- 初始化一個倉庫:git init
- 查看分支:git branch
- 將已修改或未跟蹤的文件添加到暫存區(qū):git add [file] 或 git add .
- 提交至本地倉庫:git commit -m "提及記錄xxxx"
- 本地分支推送至遠程分支:git push
- 查看當前工作目錄和暫存區(qū)的狀態(tài): git status
- 查看提交的日志記錄: git log
- 從遠程分支拉取代碼:git pull
- 合并某分支(xxx)到當前分支: git merge xxx
- 切換到分支xxx:git checkout xxx
- 創(chuàng)建分支xxx并切換到該分支:git checkout -b xxx
- 刪除分支xxx:git branch -d xxx
- 將當前分支到改動保存到堆棧中:git stash
- 恢復(fù)堆棧中緩存的改動內(nèi)容:git stash pop
git merge 和git rebase的區(qū)別?
相同點:
git merge和git rebase兩個命令都?于從?個分?獲取內(nèi)容并合并到當前分?。
不同點:
git merge會?動創(chuàng)建?個新的commit,如果合并時遇到?jīng)_突的話,只需要修改后重新commit。
- 優(yōu)點:能記錄真實的
commit情況,包括每個分?的詳情 - 缺點:由于每次
merge會?動產(chǎn)??個commit,因此在使用?些可視化的git工具時會看到這些自動產(chǎn)生的commit,這些commit對于程序員來說沒有什么特別的意義,多了反而會影響閱讀。
git rebase會合并之前的commit歷史。
- 優(yōu)點:可以得到更簡潔的提交歷史,去掉了merge 產(chǎn)生的
commit - 缺點:因為合并而產(chǎn)生的代碼問題,就不容易定位,因為會重寫提交歷史信息
場景:
- 當需要保留詳細的合并信息,建議使?
git merge, 尤其是要合并到master上 - 當發(fā)現(xiàn)??修改某個功能時提交比較頻繁,并覺得過多的合并記錄信息對自己來說沒有必要,那么可嘗試使用
git rebase
對GitFlow的理解?
GitFlow重點解決的是由于源代碼在開發(fā)過程中的各種沖突導(dǎo)致開發(fā)活動混亂的問題。重點是對各個分支的理解。
master:主分支。develop:主開發(fā)分支,平行于master分支。feature:功能分支,必須從develop分支建立,開發(fā)完成后合并到develop分支。release:發(fā)布分支,發(fā)布的時候用,一般測試時候發(fā)現(xiàn)的 bug 在該分支進行修復(fù)。從develop分支建立,完成后合并回develop與master分支。hotfix:緊急修復(fù)線上bug使用,必須從master分支建立,完成后合并回develop與master分支。
作者:庸人自擾的庸人
鏈接:https://juejin.cn/post/7196630860811075642
來源:稀土掘金
鏈接:https://juejin.cn/post/7196630860811075642
來源:稀土掘金
浙公網(wǎng)安備 33010602011771號