添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

2、我们基于trunk分支做开发,并提交多次代码到trunk分支

下面我们使用TortoiseGit客户端,使用git的cherry pick 操作将提交到trunk分支的代码自动merge代码到ep-new分支

具体过程:

1、我们先切换到ep-new分支

2、右键,show log

3、切换到trunk分支的log,选择时间范围和自己的名称过滤将要merge到ep-new的提交

4、选择需要cherry pick的提交

5、点击continue按钮继续,会自动merge,选择的提交,如果遇到冲突,要解决下冲突(这个过程中,可能有各种小问题,注意解决)

6、完了之后,show Reflog,

查看刚刚的自动merge和commit的cherry-pick操作,选择刚刚cherry-pick操作的前一项,选中,右键Reset "ep-new" to this 选项,

默认选项,点击OK,

现在你在trunk分支的所有提交,都在本地,你只需要再commit到ep-new分支,并push到远端服务器发起merge请求,就完了。

这样做,比手动查看log,查看比较自己的提交并merge代码更靠谱,效率高,还不会有遗漏,除非你在第四步选择时有遗漏。

git remote add ab7 http:// git lab.eisoo.com/AnyBack/apolo/Apollo. git git fetch ab7 git checkout -b  hw1030  ab7/Longter/Anybackup-7.0.7-Huawei1030-60190205 git push origin hw1030:1030 git push -u origin hw1030 1 新增远程仓储(后面地址为代码主线的完整地址),命名为ab7(名字自己随意取) 2.这个命令将远程主机ab7的更新全部取回本地 3.在本地创建名称为hw1030(名字自取) Git 介绍 分布式 : Git 版本控制系统是 一个 分布式的系统, 是用来保存工程源代码历史状态的命令行工具; 保存点 : Git 的保存点可以追踪源码中的文件, 并能得到某 一个 时间点上的整个工程项目额状态; 可以在该保存点将多人 提交 的源码合并, 也可以会退到某 一个 保存点上; Git 离线 操作 性 : Git 可以离线进行代码 提交 , 因此它称得上是完全的分布式处理, Git 所有的 操作 不需要在线进行; 这意味着 Git 的速度要比SVN等工具快得多, 因为SVN等工具需要在线时才能 操作 , 如果网络环境不好, 提交 代码会变得非常缓慢; Git 基于快照 : SVN等老式版本控制工具是将 提交 点保存成补丁文件, Git 提 一条线是 一个 分支 。 比如c2,c3,这是 两次 提交 ,在 同一个 分支 上。 此时需求是:要把绿色 分支 的C3,蓝色 分支 的C5,紫色 分支 的C7合到一条新的 分支 上。 此时就需要 cherry - pic k命令了。 首先切到master 分支 ,然后输入 git cherry - pic k C3 C5 C7 项目版本管理使用 git ,在实际工作当中经常会遇到计划赶不上变化,比如某几个改动要提前上线,或者某几个改动这次不发布。如果是时间间隔短,改动量小以及个人记忆强大的基础上没什么事,弄个个新 分支 把需要的弄出来,或者屏蔽掉。但是如果上面三个条件有 一个 不满足,其实都特别难受。 我们能不能把我们需要修改的commit也 提交 到别的 分支 ,这样我们只需要根据我们改动的 提交 ,而不是 一个 文件 一个 文件的去修改。 实际上是有的,这个 操作 叫做 cherry - pic k (1) cherry - pic k 命令 这里如果你是忠实的命令行 操作 大牛, 一般项目在开发阶段,都会创建多个 分支 ,用于不同开发阶段的版本发布如:master、dev等,之所以会有这种多 分支 情况,就是项目在不同的开发阶段,新的业务会对之前业务造成影响,所以建多个 分支 用来发布不同的迭代版本,直至 一个 迭代完成测试、上线。 如果使用 git ,相信大家比较多的使用 merge ,对于rebase则少有陌生。相信刚使用 git 不久的同学会有 一个 困惑,经常使用 merge 会造成破窗效应,查阅log时会掺杂了大量无用的小 提交 ,起初也对此习以为常,毕竟svn就是这样。 使用rebase其中的 一个 好处就是能够将多个commit合并为一次 提交 ,但是网络上比较多的都是基于命令行,今天记录一下总结的基于小乌龟 Git merge /rebase 提交 管理流程。 理解 git 中上游下游概念 上游下游是一种相对概念,相对于remote/master,master就是 例如要将A 分支 一个 commit合并到B 分支 :首先切换到A 分支 git checkout A git log找出要合并的commit ID :例如0128660c08e325d410cb845616af355c0c19c6fe然后切换到B 分支 git checkout B git cherry - pic k  0128660c08e325d410cb845616af355c0c19c6fe然后就将A 分支 的某... 1. 分支 合并 如下:两条从公共节点分叉的 分支 ,分别有了新的 提交 ,当使用 git merge 合并 分支 时,会在当前master 分支 commit基础上应用to pic 在公共节点以后的 提交 ,并生成一条新的 提交 记录合并信息。 A---B---C to pic D---E---F---G master =====> A---B---C to pic / \ D-...