一、Git 分支操作
| 命令 | 说明 |
|---|
| git branch | 查看分支 |
| git branch -v | 查看分支,展示的信息多一些 |
| git branch 分支名 | 在当前分支的节点上创建新的分支 |
| git checkout 分支名 | 切换分支,兼容性好 |
| git switch 分支名 | 切换分支,v2.23.0 版及以后可用 |
| git branch -d 分支名 | 删除分支 |
| git merge 要合并的分支名 | 将指定的分支合并到当前分支 |
1.1 推荐分支工作流
- master 作为主分支,只在 master 保留完全稳定的代码
- 在 dev 分支上做开发,最终合并到 master 分支
- 在 hotfix 分支上做紧急修复,最终合并到 master 分支
- ...... 还可以有更多的分支,进行团队协作开发,最终开发好的代码测试没有问题,都合并到 master 分支
1.2 分支操作注意事项
- 在 master 分支没有任何一次提交时,是不能创建新的分支。新分支的创建必需在某个提交版本的基础上创建。
- HEAD 指针永远指向当前分支的当前提交
- 在删除分支时,不能在当前分支自己删除自己。只能在当前分支删除其它分支
- 在合并分支时,如果发生冲突,需要先解决冲突,保存修改后的文件,再令将修改的文件提交到暂存区,最后提交到本地仓库生成新的版本。
- 在合并分支时,需要先切换到合并到的分支。比如:需要将 dev 分支合并到 master 分支,需要先切换到 master 分支,再在 master 分支执行
git merge dev进行分支合并。
二、Git 远程仓库
远程仓库: 是指托管在因特网或其他网络中的你的项目的版本库。说的直白一点,就是在另一台服务器中有一块空间用来保存你的项目版本库。
| 命令 | 说明 |
|---|
| git remote | 查看配置的远程仓库的别名 |
| git remote -v | 查看配置的远程仓库详细信息 |
| git remote show 远程仓库地址/仓库别名 | 查看配置的某个远程仓库详细信息 |
| git remote add 别名(常用 origin) 远程仓库地址 | 添加远程仓库,并配置别名 |
| git push 别名/远程仓库地址 要推送的分支或--all | 推送本地版本到远程仓库 |
| git remote rename 远程仓库原别名 远程仓库修改后别名 | 修改远程仓库的别名 |
| git remot remove 远程仓库别名 | 移除某个远程仓库配置 |
| git clone 远程仓库地址 | 克隆远程仓库到本地 (在没有本地仓库的时候,用 git clone) |
| git fetch 别名 远程分支名 | 拉取远程分支最新代码 |
| git diff 本地分支 远程分支 | 对比本地分支与远程分支差异 |
| git branch -r | 查看远程分支 |
| git pull 远程仓库地址/别名 远程分支名:本地分支名 | 从远程仓库拉取本地仓库没有的那部分内容,并自动与本地版本库的指定分支合并。 |
三、tag 标签
| 命令 | 说明 |
|---|
| git tag -a 标签名 -m 标签说明 | 为当前分支当前提交创建【附注标签】 |
| git tag 标签名 | 为当前分支当前提交创建【轻量标签】 |
| git tag 标签名 版本号 | 给指定提交版本创建一个【轻量标签】 |
| git push 远程仓库别名 标签名 | 推送标签到远程仓库 |
| git push 远程仓库别名 --tags | 把所有不在远程仓库服务器上的标签全部传送到那里。 |
| git tag -d 标签名 | 删除本地标签名 |
| git push 远程仓库别名 --deleted 标签名 | 删除远程仓库标签名 |
| git tag | 查看所有标签列表 |
| git tag -l 标签名称筛选字符串 | 根据标签名筛选字符串筛选符合要求的标签 |
| git show 标签名 | 查看标签的信息(轻量标签和附注标签的信息是不一样的) |