美文网首页
git的一些使用高级技巧

git的一些使用高级技巧

作者: 落叶归根99 | 来源:发表于2020-12-11 09:17 被阅读0次

使用git stash

new分支上开发到一半,要去修改old分支上的bug
在new分支上的时候在命令行输入:
git stash


image.png

或者
git stash save “修改的信息"
这样以后你的代码就回到自己上一个commit了,直接git stash的话git stash的栈会直接给你一个hash值作为版本的说明,如果用git stash save “修改的信息”,git stash的栈会把你填写的“修改的信息”作为版本的说明。
接下来你回到old分支修改代码完成,你又再回到new分支,输入:
git stash pop
或者


image.png

git stash list
git stash apply stash@{0}
就可以回到保存的版本了。git stash pop的作用是将git stash栈中最后一个版本取出来,git stash apply stash@{0}的作用是可以指定栈中的一个版本,通过git stash list可以看到所有的版本信息:
stash@{0}: On order-master-bugfix: 22222
stash@{1}: On order-master-bugfix: 22222
然后你可以选择一个你需要的版本执行:
git stash apply stash@{0}
这时候你搁置的代码就回来了。

git 从a分支上提取某几次提交合并到b分支上的方法 cherry-pick

cherry-pick可以选择某一个分支中的一个或几个commit(s)来进行操作。例如,假设我们有个稳定版本的分支A,另外还有个开发版本的分支B,我们不能直接把两个分支合并,这样会导致稳定版本混乱,但是又想增加一个 A 中的功能到 B 中,就可以使用cherry-pick

查找提交的commitID

首先我们在 A 分支中找到要合并的commitId,通过git log命令查看历史提交记录并复制commitId

$ git log
commit a86fa61c13df652c0dd9c00d2135c43b575c258a
Author: injurys
Date:   Thu May 7 16:27:15 2020 +0800

    4

commit 98fdf8d5a0fec98acafde1ed9e3d29a11f3b145d
Author: injurys
Date:   Thu May 7 16:26:29 2020 +0800

    3

commit 8d01919da93393930839a64a86033440b3e648b4
Author: injurys
Date:   Thu May 7 16:26:10 2020 +0800

    2
切换分支并合并

切换到B分支上,使用git cherry-pick命令合并

$ git checkout b
Switched to branch 'b'
$ git cherry-pick 8d01919da9339393
[q1 8d33915] 2
 Date: Thu May 7 16:26:10 2020 +0800
 1 file changed, 1 insertion(+)

这样就把 A 分支的提交记录合并到了 B 分支上

总结
git cherry-pick id>:单独合并一个提交
git cherry-pick -x id>:同上,不同点:保留原提交者信息。

通过 git cherry-pick 命令来合并某次提交是不是很简单
另外,不单单可以合并一次记录,可以通过commitId的范围记录进行范围合并。

git cherry-pick id>..<end-commit-id>
git cherry-pick id>^..<end-commit-id>

前者表示把到之间(左开右闭,不包含start-commit-id)的提交cherry-pick到当前分支; 后者有”^”标志的表示把到之间(闭区间,包含start-commit-id)的提交cherry-pick到当前分支。

相关文章

  • Git命令进阶操作:过滤日志

    本文会介绍一些使用git log命令查找特定提交历史的高级技巧。其中的一些技巧配合格式化日志命令使用有奇效。 按照...

  • git的一些使用高级技巧

    使用git stash new分支上开发到一半,要去修改old分支上的bug在new分支上的时候在命令行输入:gi...

  • git tips

    前言 本文档用于收集 git 的使用一些使用技巧。欢迎通过评论的方式分享使用技巧? 禁止导致 master 分支无...

  • Git常用命令

    收集、记录、整理一些 Git 相关使用技巧。 git config 查看配置信息 命令参数 --list,简写 -...

  • GIT中数据的存储与组织

    GIT中数据的存储与组织 我们经常使用一些Git的命令,例如checkout,commit等命令,这些都是高级命令...

  • GIT的使用

    ##git的使用技巧 git安装 mac端:1,下载Git installer,地址;http://git-scm...

  • Git的一些使用技巧

    设置不用每次都输入账号密码:git config --global credential.helper store...

  • Python中的一些高级技巧

    Python中的一些高级技巧 Python 开发中有哪些高级技巧?这是知乎上一个问题,我总结了一些常见的技巧在这里...

  • Git Stash用法

    Git Stash用法 最近在使用Git管理项目工程的时候,遇到了很多问题,也学习到了很多关于Git常见使用的技巧...

  • Git 的一些使用小技巧

    Git 是一款免费、开源的分布式版本控制系统。这篇文章用来整理我在使用Git 的过程中知道的一些小技巧。 1. w...

网友评论

      本文标题:git的一些使用高级技巧

      本文链接:https://www.haomeiwen.com/subject/tsndgktx.html