Git常用操作(工作版),基于idea操作

    上学那会,用git基本commit和push就完事了,但在工作中,面临一个比较大的合作项目,版本迭代或者有新需求都会创建新分支,各种分支和代码冲突,就很容易搞得晕头转向。这篇文章是学习笔记,记录了我工作中遇到的问题,以及捅娄子后的挽救。

场景一:不小心把本地环境配置类文件也提交到远程仓库。

使用git的revert命令进行回滚  git revert <你要撤销的commitId>

我用的是idea,这里就直接通过git管理工具,选中提交记录,右键即可选择回滚。

注意这里圈了两个命令,reset和revert,这两个命令都可以撤销代码,但是强度是不一样的。git reset <你要撤销的commitId>命令会将代码的提交记录回滚到你指定的commitId,比如说现在有1、2、3次提交记录,你回滚到了1,那么2、3次的提交记录就会被清除。revert命令并不会删除你的提交记录,相反的,它是创建一个新的commit,这个时候你的代码是恢复到你要提交之前的状态,在本地修改好你的代码可以再次进行提交。revert的时候我的idea会问我是否要将撤销的代码存到stash里,这样回滚到提交之前的状态,你可以通过stash记录恢复你的代码。一般团队合作里使用reset命令要慎重。

后面两个没图,因为我已经操作完了。。。

场景二:你和团队其他人一起修改了同一个类,造成了代码冲突

idea里会弹出一个提示框,有merge和rebase两个选项,选择rebase,会出现一个弹框,左边是你的代码,右边是远程的代码,中间是合并结果。你可以一起比较,最后把你要的代码通过小箭头选进去。

场景三:代码有测试分支和开发分支,如何将开发分支上提交的代码移到测试分支。

通过cherrypick命令。假设你目前的分支对应的是远程的开发分支master,首先确保你的代码全部都commit和push上去了,接着点idea左上角的git分支图标

点击后选中remote中的你要上传的测试分支,右键checkout,如果你本地没有新建过这个分支,checkout的时候会自动帮你新建本地测试分支(对应你checkout的远程测试分支)。

切换到本地测试分支后,仍然是通过idea左上角的git分支图标,选中remote中的master选择compare with master,把你之前在master上提交过的记录,需要的cherrypick过来就可以了。

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
IDEA中使用Git插件可以方便地管理GitFlow工作流。Git Flow Integration是一款常用的插件,它提供了一些功能来简化GitFlow的使用。 通过Git Flow Integration插件,你可以轻松地创建和切换分支,合并分支,发布本等。以下是一些常用GitFlow操作示例: 1. 创建新功能分支: - 在IDEA的右下角找到Git Flow Integration插件图标,点击打开插件面板。 - 在面板中选择"Start New Feature"选项。 - 输入新功能分支的名称,并选择基于哪个分支创建。 - 点击"Start"按钮,插件将自动创建并切换到新的功能分支。 2. 完成功能开发并合并到develop分支: - 在功能分支上进行代码开发和提交。 - 在Git Flow Integration插件面板中选择"Finish Feature"选项。 - 选择要合并的功能分支,并输入合并后的提交信息。 - 点击"Finish"按钮,插件将自动合并功能分支到develop分支,并切换回develop分支。 3. 发布本: - 在Git Flow Integration插件面板中选择"Release"选项。 - 输入要发布的本号,并选择基于哪个分支创建发布分支。 - 点击"Start"按钮,插件将自动创建并切换到发布分支。 - 在发布分支上进行本相关的修改和提交。 - 在Git Flow Integration插件面板中选择"Finish Release"选项。 - 输入合并后的提交信息,并点击"Finish"按钮,插件将自动合并发布分支到master和develop分支,并切换回develop分支。 以上是一些常用GitFlow操作示例,通过Git Flow Integration插件可以更方便地管理GitFlow工作流。你可以根据具体需求选择适合的操作来管理你的项目。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值