Git Branch 命令总结
列出分支
- git branch:显示本地分支,当前分支会被标记。
- git branch -r:显示远程分支。
- git branch -a:显示所有本地和远程分支。
创建分支
- git branch <branch_name>:创建一个新分支但不自动切换。
- git checkout -b <branch_name>:创建新分支并切换到该分支。
- git switch -c <branch_name>:(Git 2.23+)创建新分支并切换。
- 从特定提交创建分支:git branch <branch_name> <commit_hash>。
切换分支
- git checkout <branch_name>:切换到一个已存在的本地分支。
- git switch <branch_name>:(Git 2.23+)切换到一个已存在的分支。
删除分支
- git branch -d <branch_name>:删除已合并的本地分支。
- git branch -D <branch_name>:强制删除本地分支,不论是否合并。
重命名分支
- git branch -m <old_name> <new_name>:重命名本地分支。
设置上游分支(跟踪远程分支)
- git branch --set-upstream-to=<remote>/<branch>:设置当前分支的上游分支。
查看分支上游信息
- git branch -vv:显示每个分支的上游信息和最近提交。
比较分支差异
- git diff <branch1> <branch2>:比较两个分支之间的差异。
合并分支
- git merge <branch_name>:将指定分支的更改合并到当前分支。
推送分支到远程仓库
- git push <remote_name> <branch_name>:推送本地分支到远程仓库。
删除远程分支
- git push <remote_name> --delete <branch_name>:删除远程分支。
1. 列出分支
-  列出本地分支: git branch这将显示所有本地分支,当前分支前面会有一个星号 (*)。 
-  列出远程分支: git branch -r这将显示所有远程分支。 
-  列出所有分支: git branch -a这将显示所有本地和远程分支。 
2. 创建分支
-  创建新分支但不切换: git branch new-feature这将创建一个名为 new-feature的新分支,但不会切换到该分支。
-  创建并切换到新分支: git checkout -b new-feature或者 git switch -c new-feature这将创建并切换到名为 new-feature的新分支。
-  从特定提交创建分支: git branch hotfix origin/main这将从远程 main分支的最新提交创建一个名为hotfix的新分支。
3. 切换分支
- 切换到现有分支:
 或者git checkout existing-feature
 这将切换到名为git switch existing-featureexisting-feature的现有分支。
4. 删除分支
-  删除已合并的本地分支: git branch -d feature-x这将删除本地分支 feature-x,前提是它已经被合并到当前分支。
-  强制删除本地分支: git branch -D feature-x这将强制删除本地分支 feature-x,不论它是否已经合并。
5. 重命名分支
- 重命名本地分支:
 这将把本地分支git branch -m old-name new-nameold-name重命名为new-name。
6. 设置上游分支(跟踪远程分支)
- 设置当前分支跟踪远程分支:
 这将设置当前分支跟踪远程仓库的git branch --set-upstream-to=origin/mainmain分支。
7. 查看分支的上游信息
- 显示每个分支的上游信息和最后一次提交:
 这将显示每个分支的上游分支和最后一次提交的摘要。git branch -vv
8. 比较分支
- 比较两个分支之间的差异:
 这将显示git diff feature-x mainfeature-x分支和main分支之间的差异。
9. 合并分支
- 将一个分支合并到当前分支:
 这将把git merge feature-xfeature-x分支的更改合并到当前分支。
10. 推送分支到远程仓库
- 推送本地分支到远程仓库:
 这将把本地的git push origin new-featurenew-feature分支推送到远程仓库。
11. 删除远程分支
- 删除远程分支:
 这将删除远程仓库中的git push origin --delete feature-xfeature-x分支。
12. 分支命名约定
- 使用有意义的命名:
 这将创建一个用于开发登录页面的分支。git checkout -b feature/login-page
13. 分支的生命周期
- 从创建到合并:
 这展示了从创建分支、开发、合并到删除分支的完整流程。git checkout -b feature-x # 进行开发 git add . git commit -m "Implement feature X" git checkout main git merge feature-x git branch -d feature-x
14. 分支冲突解决
- 解决合并冲突:
 这将解决git merge feature-x # 解决冲突 git add . git commitfeature-x分支合并到main分支时产生的冲突。
15. 分支的标签
- 给重要的提交打标签:
 这将为当前提交打上一个标签git tag -a v1.0 -m "Version 1.0 release"v1.0,通常用于标记发布版本。