聊下 git rebase -i】的更多相关文章

在使用git作为源代码管理工具的时候,开发的时经常会面临一个常见的问题,多个commit 需要合并为一个完整的commit提交. 在一个基本的迭代周期里,你会有很多次commit,有跟配置文件相关的,有跟代码相关的,甚至有跟下次发布fixbug相关的.这些都是你在完成本地开发的时候一个变化记录而已.但是当你需要将你的迭代项目作为一次发布提交时就需要整合所有之前提交的那些很零碎的commit. 根据基本规范,你的commit应该类似"release:20161023_imageprint"…
有一种场景是经常发生的. 大家都基于develop拉出分支进行并行开发,这里的分支可能是多到数十个.然后彼此在进行自己的逻辑编写,时间可能需要几天或者几周.在这期间你可能需要时不时的需要pull下远程develop分支上的同事的提交.这是个好的习惯,这样下去就可以避免你在一个无用的代码上进行长期的开发,回头来看这些代码不是新的代码.甚至是会面临很多冲突需要解决,而这个时候你可能还需要对冲突的部分代码进行测试回归,这就很麻烦了. 那么我们来看一下你在pull时候需要习惯性的加上—rebase参数,…
git 多账户问题 标签(空格分隔):git github gitlab git多账户 背景 git 多账号配置 ssh 多密钥对配置 背景 在使用 git 的时候我们都会面临多账户问题,比较常见的就是公司内部的 gitlab,开源平台 github ,我们都需要在一台电脑上同时使用,这需要解决两个问题. git 多账号配置 git config --global user.name 设置全局用户名 git config --global user.email 设计全局邮箱 git config…
你经常会面临着将dev分支或者很多零散的分支merge到一个公共release分支里. 但是有一种情况是需要你处理的,就是在你的dev的分支里有很多commit记录.而这些commit是无需在release里体现的. develop 主分支 develop主分支最近的一个commit是”fix imageprint bug.”.我们拉出一个分支进行项目开发,里面会有很多commit记录. git checkout -b develop_newfeature_ImportDataInterface…
连接方式https.ssh 在使用git的时候,不管你的服务器是开源平台github还是私服gitlab,你都需要clone仓库到本地,这个clone的时候就需要你选择连接方式.这个连接方式决定了你与服务器交互的时候以一个什么协议进行.如果你没搞清楚这两种方式,可能你在使用的时候会很困惑,别人在push代码的时候没有提示输入账号密码,而你却有,至少我当初有过这个问题. 可选择的协议有https.ssh两种,这从git repository仓库的地址就能分辨出来. 这是我6年前的开源项目,套打组件…
在你经常使用的命令当中有一个git branch –a 用来查看所有的分支,包括本地和远程的.但是时间长了你会发现有些分支在远程其实早就被删除了,但是在你本地依然可以看见这些被删除的分支. 你可以通过命令,git remote show origin 来查看有关于origin的一些信息,包括分支是否tracking. Local refs configured for ‘git push’,这一栏说明你push了哪些分支上origin. develop_newfeature_apiwrapper…
使用git rebase合并多次commit 聊下 git rebase -i…
在develop分支上rebase另外一个分支master,是将master作为本地,develop作为远端来处理的. 最后的效果是,develop分支看起来像是在master分支的最新的节点之后才进行开发的 develop分支上的commit记录 Administrator@LuJunTao MINGW64 /f/GitMerge/demo (develop)$ git logcommit f529181aa7aa12794b261b5be57e948792168dd6  C5Author:…
一.应用场景 为什么需要合并多个提交呢? 常常一个功能的开发,修修补补 commit 了 n 多次,带来的结果就是提交过多过杂,不够直观,究竟哪些提交是对应这个功能的呢?还有就是,如果我要将这个功能迁移到其他分支呢?一个个 commit 去 cherry-pick 吗?未免太麻烦了吧!为什么不尝试下将多个 commit 合并成一个呢? 二.功能实现 将多个 commit 合并成一个,用到的主要 git 命名就是 git rebase.先来解释下git rebase .其实可以把它理解成是 "重新…
rebase就是重新定义你分支的起点, 分支上的commit将生成对应的新的commit并放在你指定的新的起点commit后, 分支上的老commit将被删除. rebase就是将你的分支从一个commit移动到另一个commit作为起点. 用法 git rebase <base> 将base做为你当前分支的新起点, 这个<base>可以是任何一种commit引用(如ID, brand名, tag, HEAD~N). 讨论 rebase的主要目的就是保持project histor…