切换分支

git checkout

创建并切换到新分支

git checkout -b

基于远程库分支创建分支

语法格式

git checkout -b origin/

使用示例: 以远程库中的 liang 分支为起点,在本地创建一个 dev 分支

git checkout -b dev origin/liang

本地创建分支并关联远程的分支

git checkout -b app-plus origin/app-plus

如果本地和远程分支不同步 用 git fetch

查看本地和远程分支的关联情况

git branch -vv

git pull = git fetch + git merge

git reset --soft HEAD^ 撤回本次commit

git branch 命令

  • git branch 创建分支
git branch <branch_name>:创建一个新分支但不自动切换。
git checkout -b <branch_name>:创建新分支并切换到该分支。
  • git branch 列出分支
git branch:显示本地分支,当前分支会被标记。
git branch -a: 显示所有本地和远程分支
git branch -r:显示远程分支
  • 删除分支
git branch -d <branch_name>:删除已合并的本地分支。
git branch -D <branch_name>:强制删除本地分支,不论是否合并。
  • 重命名分支
git branch -m <old_name> <new_name>:重命名本地分支。
  • 设置上游分支(关联远程分支)
git branch --set-upstream-to=<remote>/<branch>:设置当前分支的上游分支
eg: git branch --set-upstream-to=origin/main
  • 查看分支上游信息(查看远程关联分支信息)
git branch -vv:显示每个分支的上游信息和最近提交。
  • 比较分支差异
git diff <branch1> <branch2>:比较两个分支之间的差异。
eg: git diff feature-x main
这将显示 feature-x 分支和 main 分支之间的差异。
  • 合并分支
git merge <branch_name>:将指定分支的更改合并到当前分支。
  • 推送分支到远程仓库
git push <remote_name> <branch_name>:推送本地分支到远程仓库。
eg: git push origin new-feature
这将把本地的 new-feature 分支推送到远程仓库。
  • 删除远程分支
git push <remote_name> --delete <branch_name>:删除远程分支。
eg: git push origin --delete feature-x
这将删除远程仓库中的 feature-x 分支。
  • 分支命名约定

使用有意义的命名
git checkout -b feature/login-page
这将创建一个用于开发登录页面的分支。

  • 分支的生命周期
从创建到合并:
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
这展示了从创建分支、开发、合并到删除分支的完整流程。
  • 分支冲突解决
解决合并冲突
git merge feature-x
# 解决冲突
git add .
git commit
这将解决 feature-x 分支合并到 main 分支时产生的冲突。
  • 分支的标签
给重要的提交打标签:
git tag -a v1.0 -m "Version 1.0 release"
这将为当前提交打上一个标签 v1.0,通常用于标记发布版本。
posted on 2023-07-18 19:37  京鸿一瞥  阅读(9)  评论(0编辑  收藏  举报