git rebase(git extensions版)

作者接触git近一年,近期学会rebase操作。开发中推荐用rebase,分支合并用merge。介绍了一种rebase操作方式,包括缓存未提交代码、拉取代码、取出缓存文件、提交代码。还提到操作中可能出现本地和远程冲突及解决办法。

接触git快一年了,之前都不会rebase操作,最近刚刚学会了一点。

平时开发中推荐用rebase方式,只有涉及到分支合并的时候才会用merge操作(听别人讲的)。

接下来讲一种rebase操作方式:

1、可以先用stash方式缓存我们的没有commit的代码

stash

stash效果

可以看到commit的数量变成了0

2、用rebase方式拉取代码,因为我们stash了我们的本地改动,所以这样拉是肯定没有冲突并且一定会拉到最新代码

rebase pull

3、拉取之后,执行stash pop操作,就是将放到缓存区的文件拿出来,这个时候可能会有冲突,自行解决就好

stash pop

stash result

可以看到原来的文件又回来了,commit数量变为了1

4、commit代码并提交到对应分支上

至此,完成rebase操作,基本上可以看到一条直线的提交历史。

-------------------------------------------------------------------------------------------------

注:

1、stash操作放到缓存区是我个人看法,实际上有更准确的叙述方式

2、有时候不仅仅会出现本地的冲突,有时提交到远程以后,远程那边也会出现冲突,目前远程如果是用Gerrit,就有可能出现远程冲突,之前用gitlab没有这个问题,可能没有遇到。最常见的情景是两个人几乎同一时间提交了对同一个文件的改动,这样Gerrit就可能会提示有冲突,需要abandon掉这次改动,重复上述的rebase操作再提交代码。

git extensions中文是用来帮助用户进行各项资源处理的工具,超级便捷的功能能够帮助用户在这里快速处理各种储存库,在电脑的Windows系统上也能够完美运行,帮助你完成你的工作,方便又省心。 软件介绍 前者MsysGitGit本控制系统在 Windows 下的本,如果要使用Git,你的电脑上一定要有它。后者KDiff3是一款用来对文件或目录进行比较/合并的工具,在比较时它可以同时针对两个或者三个文件/目录而进行。通过比较,它将文件/目录的差异按行加以显示。同时,KDiff3 提供有自动化的合并工具,方便使用者进行有关合并的操作。如果你的电脑上已经有了类似的工具可以不用安装后者。 一、安装 GitExtensions 下载 GitExtensions 完全,一直点 Next,安装全部组件。 二、将项目文件夹/文件提交到 Git 服务器(以 GitHub 为例) 1.新建一个文件夹,名为 GitExtensionsDemo。 2.把你想要上传到 GitHub 的文件放入此文件夹中,如 HelloWorld.java ; 3.(如果要提交已存在的文件或文件夹,直接可以跳过 1 与 2,从这一步开始)右键点击 GitExtensionsDemo 文件夹,然后选择 GitExt Create new repository... 在弹出的对话框中,点击 Create 按钮,并在弹出的消息框中点击 OK。 4.访问 GitHub,新建一个名为 GitExtensionsDemo 的 Repository 并复制该 Repository 的 URL 到剪贴板。 5.再次右键点击 GitExtensionsDemo 文件夹,可以看到能够进行的操作多了很多。选择 GitExt Commit。 6.在弹出的对话框中输入提交消息(Commit Message),并点击 Commit & push。。 接着在弹出的消息框中点击 Yes 7.Git 的 Commit 操作完毕后,会执行 Push 操作,首先会告知你选择一个远程代码库(Remote Repository)。 点击 OK 后,在 Push 对话框中选取 Url,并输入刚才 GitHub 上新建的 Repository 的 URL,并点击 Push 按钮,再点击 Yes,再输入 GitHub 用户名与密码即可将此文件夹提交到 GitHub。 8.打开 GitHub 中的 Repository,可以看到文件已被上传。 9.再次右键点击 GitExtensionsDemo 文件夹,并选择 GitExt Browse,可以查看本代码库的提交历史。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值