实战Git命令(界面操作+命令行)
先说明下公司的发版步骤,当需要开发一个新的功能,先从master分支中拉出一个自己的分支a(假设分支为a),在a分支开发功能完后,需要切换到dev分支,然后把自己的分支a合到dev分支,部署测试环境让测试同学测试,如果测试没问题了,将最新的master分支的代码合到自己的分支a中,然后把a分支合到master分支中,最后部署正式环境。
Idea快捷键Alt+F12 打开命令终端
git reset
Log中没回退记录,Revert命令有Log记录
(1)git reset --soft HEAD~1
回退一个版本,不清空暂存区,将已提交的内容恢复到暂存区(提交前),不影响原来本地的文件(未提交的也不受影响)。
(2)git reset --hard HEAD~1
回退一个版本,清空暂存区(回到修改前,即commit前修改内容也被清空了),将已提交的内容的版本恢复到本地,本地的文件也将被恢复的版本替换。
(1)git reset --soft HEAD~1



补充:git reset --soft HEAD~1相当于idea中Undo Commit操作

(2)git reset --hard HEAD~1



git stash
应用场景
(1)当正在dev分支上开发某个项目,这时项目中出现一个bug,需要紧急修复,但是正在开发的内容只是完成一半,还不想提交,这时可以用git stash命令将修改的内容保存至堆栈区,然后顺利切换到hotfix分支进行bug修复,修复完成后,再次切回到dev分支,从堆栈中恢复刚刚保存的内容。
(2) 由于疏忽,本应该在dev分支开发的内容,却在master上进行了开发,需要重新切回到dev分支上进行开发,可以用git stash将内容保存至堆栈中,切回到dev分支后,再次恢复内容即可。
总的来说,git stash命令的作用就是将目前还不想提交的但是已经修改的内容进行保存至堆栈中,后续可以在某个分支上恢复出堆栈中的内容。这也就是说,stash中的内容不仅仅可以恢复到原先开发的分支,也可以恢复到其他任意指定的分支上。git stash作用的范围包括工作区和暂存区中的内容,也就是说没有提交的内容都会保存至堆栈中
idea界面操作

命令行操作
git stash save “注释说明”
git stash pop



git clean
删除本地工作目录中未跟踪(没有 git add)的文件,在idea中文件的颜色是红色
git clean -n 显示 将要 删除的 文件 和 目录
git clean -f 删除 文件
git clean -df 删除 文件 和 目录




实战
git reset --hard HEAD~1
在一次合并代码中,修改完代码Commit后,然后想从自己的分支whl_benefit切换到dev分支,然后不小心点了dev分支合到merge到自己的分支了(合并后有冲突,同时会有很多dev的新代码需要你最终去Commit),这时就可以用的git reset --hard HEAD~1,回到上次Commit后打算切换dev分支的样子,如果你用的是git reset --soft HEAD~1,你会发现还有一堆新的代码需要你去判断要不要Commit(都是dev中存在,没有冲突的新代码或者新的文件),这时你得配合git clean命令把暂存区的文件回滚回去。
实战Git命令(界面操作+命令行)的更多相关文章
- centos7在命令界面使用命令可以执行,但在jenkins中输入命令报Chrome has crashed.
问题:selenium.common.exceptions.WebDriverException: Message: unknown error: Chrome failed to start: ex ...
- centos7标准版命令界面和图形界面相互切换
1.root登陆终端 2.输入命令 vi /etc/inittab ,查看两种界面的启动模式: 3.退出vi模式,,输入命令systemctl get-default 查看当前系统启动模式:我的是命令 ...
- Git 常用命令及操作总结
Git常用命令及操作总结 By:授客 QQ:1033553122 利用TortoiseGit克隆源码库到本地 1.安装TortoiseGit 2.打开Git,进入到源码库,点击图示红色选框框选按钮,弹 ...
- github之无命令可视化界面操作——GitHub DeskTop
Git是Linuxs之父Lunus用C语言写的一个非常好用的分布式版本控制系统. GitHub可以给我们提供免费的代码仓库,并用Git可以在上面提交代码并进行版本控制.使用Git一般要安装Git ,并 ...
- git的基本使用命令操作
Linux操作命令行: mkdir - 创建文件夹, cd - 切换文件路径 pwd - 显示文件路径 ls -ah - 可以查看隐藏的文件夹名(.git) cat 文件 ...
- Linux学习(一):从图形界面进入命令行及命令行进入图形界面
一.从图形界面进入命令行 最近脑洞大开,想接触一下linux.本人设备是win7,于是安了VMware(12.0.0)虚拟机,在安Linux(我用的CentOS 6.3 64)时不太会搞,跟据提示(英 ...
- 【转】Linux 图形界面与命令行模式切换
原文网址:http://blog.csdn.net/ldl22847/article/details/7600368 Tip:使用环境VMware Workstation OS:CentOS 6 ...
- HDFS文件操作(命令行)
HDFS是一种分布式文件系统,为MapReduce这种框架下的海量数据分布式处理而设计. Hadoop之HDFS文件操作常有两种方式,一种是命令行方式,即Hadoop提供了一套与Linux文件命令类似 ...
- Git常用命令的操作
Git命令 一.创建版本库 初始化一个Git仓库,使用git init命令. 添加文件到Git仓库,分两步: 使用命令git add <file>,注意,可反复多次使用,添加多个文件: 使 ...
随机推荐
- 用python讲解数据结构之树的遍历
树的结构 树(tree)是一种抽象数据类型或是实现这种抽象数据类型的数据结构,用来模拟具有树状结构性质的数据集合 它具有以下的特点: ①每个节点有零个或多个子节点: ②没有父节点的节点称为根节点: ③ ...
- 个人项目作业--WC的实现
GitHub项目地址 https://github.com/1721819634/WC 1.Word Count 项目要求: wc.exe 是一个常见的工具,它能统计文本文件的字符数.单词数和行数. ...
- cglib、orika、spring等bean copy工具性能测试和原理分析
简介 在实际项目中,考虑到不同的数据使用者,我们经常要处理 VO.DTO.Entity.DO 等对象的转换,如果手动编写 setter/getter 方法一个个赋值,将非常繁琐且难维护.通常情况下,这 ...
- 彻底搞懂js __proto__ prototype constructor
在开始之前,必须要知道的是:对象具有__proto__.constructor(函数也是对象固也具有以上)属性,而函数独有prototype 在博客园看到一张图分析到位很彻底,这里共享: 刚开始看这图 ...
- Panda 交易所快报 央行数字货币测试进入C端流量入口
近年来,央行数字货币的研发进展备受市场关注.近期,Panda 交易所注意,央行数字货币研究所与滴滴出行已达成战略合作协议,共同研究探索数字人民币在智慧出行领域的场景创新和应用.此外,Panda 交易所 ...
- 【题解】「CF1352A」Sum of Round Numbers
应该是纯模拟吧. 直接输入一个字符串,然后一位一位看,如果不是0,就 k++,并计算这个数的真实的值,最后输出就行了. #include<iostream> #include<cst ...
- MySQL的binlog有啥用?谁写的?在哪里?怎么配置
目录 一.唠嗑 二.什么是bin log? 三.它在哪里? 四.bin log的相关配置 五.binlog 有啥用? 六.超有用的参数 sql_log_bin 七.未来几篇文章 推荐阅读 一.唠嗑 文 ...
- AWT02-ContainerAPI
1.体系 Object -Component -Container Window:窗口容器 Frame:创建窗口 Dialog:创建对话框 Panel:内嵌容器 Applet ScrollPane:含 ...
- Flink内存溢出
Flink内存模型 此图是基于flink1.12版本. 一个taskmanager给了6g内存,可以有很清楚的看到各个部分占用的内存,还是实时变化的. 名词解释 组件 配置项 描述 Framework ...
- Maven大全
Maven 命令 mvn clean compile -Dmaven.test.skip=true 编译代码,检查代码安全性 Maven 注解 用maven管理库依赖,有个好处就是连同库的依赖的全部j ...