切換分支
git checkout
創(chuàng)建并切換到新分支
git checkout -b
基于遠(yuǎn)程庫分支創(chuàng)建分支
語法格式
git checkout -b
使用示例: 以遠(yuǎn)程庫中的 liang 分支為起點(diǎn),在本地創(chuàng)建一個 dev 分支
git checkout -b dev origin/liang
本地創(chuàng)建分支并關(guān)聯(lián)遠(yuǎn)程的分支
git checkout -b app-plus origin/app-plus
如果本地和遠(yuǎn)程分支不同步 用 git fetch
查看本地和遠(yuǎn)程分支的關(guān)聯(lián)情況
git branch -vv
git pull = git fetch + git merge
git reset --soft HEAD^ 撤回本次commit
git branch 命令
- git branch 創(chuàng)建分支
git branch <branch_name>:創(chuàng)建一個新分支但不自動切換。
git checkout -b <branch_name>:創(chuàng)建新分支并切換到該分支。
- git branch 列出分支
git branch:顯示本地分支,當(dāng)前分支會被標(biāo)記。
git branch -a: 顯示所有本地和遠(yuǎn)程分支
git branch -r:顯示遠(yuǎn)程分支
- 刪除分支
git branch -d <branch_name>:刪除已合并的本地分支。
git branch -D <branch_name>:強(qiáng)制刪除本地分支,不論是否合并。
- 重命名分支
git branch -m <old_name> <new_name>:重命名本地分支。
- 設(shè)置上游分支(關(guān)聯(lián)遠(yuǎn)程分支)
git branch --set-upstream-to=<remote>/<branch>:設(shè)置當(dāng)前分支的上游分支
eg: git branch --set-upstream-to=origin/main
- 查看分支上游信息(查看遠(yuǎn)程關(guān)聯(lián)分支信息)
git branch -vv:顯示每個分支的上游信息和最近提交。
- 比較分支差異
git diff <branch1> <branch2>:比較兩個分支之間的差異。
eg: git diff feature-x main
這將顯示 feature-x 分支和 main 分支之間的差異。
- 合并分支
git merge <branch_name>:將指定分支的更改合并到當(dāng)前分支。
- 推送分支到遠(yuǎn)程倉庫
git push <remote_name> <branch_name>:推送本地分支到遠(yuǎn)程倉庫。
eg: git push origin new-feature
這將把本地的 new-feature 分支推送到遠(yuǎn)程倉庫。
- 刪除遠(yuǎn)程分支
git push <remote_name> --delete <branch_name>:刪除遠(yuǎn)程分支。
eg: git push origin --delete feature-x
這將刪除遠(yuǎn)程倉庫中的 feature-x 分支。
- 分支命名約定
使用有意義的命名
git checkout -b feature/login-page
這將創(chuàng)建一個用于開發(fā)登錄頁面的分支。
- 分支的生命周期
從創(chuàng)建到合并:
git checkout -b feature-x
# 進(jìn)行開發(fā)
git add .
git commit -m "Implement feature X"
git checkout main
git merge feature-x
git branch -d feature-x
這展示了從創(chuàng)建分支、開發(fā)、合并到刪除分支的完整流程。
- 分支沖突解決
解決合并沖突
git merge feature-x
# 解決沖突
git add .
git commit
這將解決 feature-x 分支合并到 main 分支時產(chǎn)生的沖突。
- 分支的標(biāo)簽
給重要的提交打標(biāo)簽:
git tag -a v1.0 -m "Version 1.0 release"
這將為當(dāng)前提交打上一個標(biāo)簽 v1.0,通常用于標(biāo)記發(fā)布版本。
人生很漫長,或許我只是你人生中微不足道的一小段,只是你人生中的驚鴻一瞥。
浙公網(wǎng)安備 33010602011771號