Git使用(三):分支管理,创建分支、合并分支、合并分支的某一次提交等


Git 分支管理


项目开发过程中不同的开发场景需要在不同的分支上实现,比如:

  • 不同环境的分支:dev/qa/prod/test 等
  • 不同版本的分支
    ……

下面介绍分支的创建、合并分支、合并某一次提交等命令


一、创建分支


1、示例:创建一个分支,命名为 dev

git branch dev

2、查看分支

git-demo$ git branch
  dev
* main

二、切换分支并开发


1、切换到 dev 分支

git checkout dev

2、修改内容


增加一行内容

这是分支dev的内容

<div class="w main">
    <h1>创建index.html文件h1>
    <h1>这是分支dev的内容h1>
div>

3、提交 dev 分支代码


git add .
git commit -m '创建dev分支并添加代码'
git push

git push 的时候会报错:

git-demo$ git push
fatal: The current branch dev has no upstream branch.
To push the current branch and set the remote as upstream, use

    git push --set-upstream origin dev

因为远程仓库不存在这个分支,按照提示使用命令:

git push --set-upstream origin dev

4、查看GitHub


Git使用(三):分支管理,创建分支、合并分支、合并分支的某一次提交等_第1张图片


三、合并分支


1、切换到 main 分支


名称可能有不同

git checkout main

切换分支之后会发现,之前在dev分支添加的代码在main分支上是不存在的

:切换分支之后,Git 会用该分支的最后提交的快照替换掉你的工作目录, 所以多个分支不会生成多个文件目录。


2、将 dev 分支内容合并到 main


git merge dev

合并之后dev分支的内容就被添加到main分支上了


3、提交代码


直接push就好

git push

四、合并分支上的某一次提交


上面的操作将整个 dev 分支合并到了 main 分支,但是不同的分支又不同的内容管理,有时候我们在一个分支上做了多次提交,但是只需要将某一次提交合并到另一各分支上,这个时候就需要用到命令 git cherry-pick

1、示例:在 dev 分支做多次提交


第1次:

  • git checkout dev
  • 添加代码:

    git cherry-pick测试:这是第1次提交

  • git add .
  • git commit -m ‘git cherry-pick测试:这是第1次提交’
  • git push

第2次:

  • 添加代码:

    git cherry-pick测试:这是第2次提交

  • git add .
  • git commit -m ‘git cherry-pick测试:这是第2次提交’
  • git push

2、示例:把第一次的提交合并到main分支


首先,使用 git log 命令找到第一次提交的版本号:

Git使用(三):分支管理,创建分支、合并分支、合并分支的某一次提交等_第2张图片
然后,切换到 main 分支

git checkout main

再使用命令:

git cherry-pick 83c3554c2451d5c0ce24d63c0152c91bc1986354

检查代码会发现

git cherry-pick测试:这是第1次提交

被添加到代码中了,而

git cherry-pick测试:这是第2次提交

则没有。


3、提交代码


直接push就好

git push

五、删除分支


:删除分支的操作不能在被删除的分支下进行,必须切换到其他分支再操作

1、删除本地分支


示例:删除 dev 分支

git branch -d dev

2、删除远程分支


示例:删除 dev 分支

git push origin -d dev

六、其他


命令 描述
git status 查询修改的文件
git log --oneline 查看历史记录的简洁的版本
git log --reverse --oneline 逆向显示所有日志
git log --author 查找指定用户的提交日志
git blame filename 查看指定文件的修改记录
git checkout -b branchname 创建新分支并立即切换到该分支下


系列文章


Git专栏

Git使用(一):安装与配置
Git使用(二):创建项目并提交到远程仓库
Git使用(三):分支管理,创建分支、合并分支、合并分支的某一次提交等
Git使用(四):提交管理,修改提交信息、合并多次提交、版本回退、撤销本地文件修改等
Git使用(五):解决冲突以及如何避免冲突
SmartGit 安装及使用(一):安装及配置
SmartGit 安装及使用(二):工作界面介绍、提交代码以及防止代码冲突等操作
SmartGit 安装及使用(三):撤销提交、合并多次提交等操作
SmartGit 安装及使用(四):创建、合并分支以及解决冲突等操作
SmartGit 安装及使用(附录):注册非商业许可证
【Git】如何生成SSH key
【Git】.gitignore文件语法以及修改后无效的解决办法
【Git】Authentication failed for 错误解决
【Git】SSL certificate problem: unable to get local issuer certificate错误的解决办法
【Git】error: RPC failed; curl 92 HTTP/2 stream 0 was not closed cleanly: PROTOCOL_ERROR


你可能感兴趣的:(Git,git,分支管理,创建分支,合并分支,合并某一次提交)