在开发过程中,会使用越来越多的命令,或快捷键,来帮助我们提高工作效率。本文记录了我在平时积累的常用命令,分享给大家。

git命令

基本命令

set LESSCHARSET=utf-8 --idea Terminal乱码(idea自带的操作git窗口)

git clone 分支名 --将分支克隆到本地

git stash --将修改暂时放到暂存区

git stash pop --从暂存区弹出

git checkout 分支名或文件名 --切换到分支

git pull --拉取最新文件(更新)

git add 文件名 --添加文件(用于提交)

git commit -m "提交备注信息" --提交文件

git push --推送到远程分支
//这三个通常一起使用

添加了多余文件后,已经add未commit时撤销添加

git reset HEAD 文件名  --撤销某文件
git reset HEAD --全撤销

已经commit还未push时,回退版本号

git reset --mixed 要回退到哪个版本号(本地代码还保留着)
git reset --hard 要回退到哪个版本号(本地代码不保留)

注意是两个短线

push后回退撤销

对于已经把代码push到线上仓库,你回退本地代码其实也想同时回退线上代码,回滚到某个指定的版本,线上,线下代码保持一致.你要用revert命令

git revert用于反转提交,执行revert命令时要求工作树必须是干净的.

git revert用一个新提交来消除一个历史提交所做的任何修改.

revert 之后你的本地代码会回滚到指定的历史版本,这时你再 git push 既可以把线上的代码更新.(这里不会像reset造成冲突的问题)

revert 使用,需要先找到你想回滚版本唯一的commit标识代码,可以用 git log 或者在adgit搭建的web环境历史提交记录里查看.

git revert c011eb3c20ba6fb38cc94fe5a8dda366a3990c61

通常,前几位即可

git revert c011eb3

git revert是用一次新的commit来回滚之前的commit,git reset是直接删除指定的commit

看似达到的效果是一样的,其实完全不同.

  1. 上面我们说的如果你已经push到线上代码库, reset 删除指定commit以后,你git push可能导致一大堆冲突.但是revert 并不会.
  2. 如果在日后现有分支和历史分支需要合并的时候,reset 恢复部分的代码依然会出现在历史分支里.但是revert 方向提交的commit 并不会出现在历史分支里.
  3. reset 是在正常的commit历史中,删除了指定的commit,这时 HEAD 是向后移动了,而 revert 是在正常的commit历史中再commit一次,只不过是反向提交,他的 HEAD 是一直向前的.

alias简化git命令

git config --global alias.别名 原始命令
如:
git config --global alias.st status
git config --global alias.ck checkout
git config --global alias.ct commit

查看提交日志记录

一般情况下:

1、git log --查看所有提交log

2、git log --author 用户名 --查询某用户提交记录
效果:

3、git log --author 用户名 --grep "关键词" 显示某个用户提交的,含有某关键词的记录
效果:

4、--oneline简化显示 在3的基础上简化,只显示一行,版本号简化

效果:

5.git log --author "git用户名" --reverse --oneline

翻转显示,之前是按时间从早到晚,使用这个参数正好颠倒

6、格式化log日志中的时间

默认是这样的

月份和星期是英文缩写,不容易看

我们可以调一下,有如下两个命令可参考:

git config log.date iso-local       执行后时间变成这样:     2018-11-03 03:30:04 +0000

git config log.date iso-strict-local     执行后时间变成这样:   2018-11-03T03:30:04+00:00

7、复杂点的

git log --graph --pretty=format:'%Cred%h%Creset - %C(yellow)%d%Creset %s %Cgreen(%cr) %C(blue)<%an>%Creset' --abbrev-commit --date=relative 

效果:其实在idea也能看到这样的提交记录,底层也都是用的git的命令

Git查看仓库地址

我们的代码仓库多了,或者用的时间长了,很长时间没有clone过了,很容易忘了clone的URL,这时候我们可以用这个命令

git remote -v

查看到当前仓库的URL

linux命令

作为后台开发,懂点基本的Linux命令是必不可少的。
创建目录,切换目录,查找,删除目录、文件、ping、telnet等。

find /home/nc/page/thrage -name *index.html* -d 查找这个目录下的 文件名以某某开头的 文件全路径(-d是列出路径)

ps -ef|grep "java" --查看java进程是否存在

netstat -tunlp|grep 端口号,用于查看指定端口号的进程情况

idea快捷键

Ctrl + Alt + L 代码格式化

Ctrl + Alt + O 优化导包

Ctrl + N 查找类

Ctrl + Shift + N 查找类

Alt + insert 生成常用代码

Ctrl + Shift + Space 自动补全代码

Ctrl + Space 代码提示

Ctrl + P 方法参数提示


更多:

IntelliJ IDEA代码常用的快捷键(自查)

解决百度网盘下载慢限速问题(2019亲测可用)

Java类是如何默认继承Object的?

开发常用Git/Linux/idea命令快捷键总结(持续更新)

java 金额数字转换大写算法

开发常用Git/Linux/idea命令快捷键总结(持续更新)的更多相关文章

  1. Linux三剑客命令使用(持续更新)

    (本文档内容部分来源于网络) awk删除文件第一列 1.采用awk awk '{$1="";print $0}' file 2.采用sed sed -e 's/[^]* //' f ...

  2. day 2克隆虚拟机器minimal需要注意的问题和制作本地yum源和常用的Linux的命令

    ------- 克隆bee2 PS:因为复制机器后,又多了一个网卡eth1.本来只有一个网卡eth0,下面是解决方案. 解决克隆后eth0不见的问题 1.直接修改vi  /etc/sysconfig/ ...

  3. 常用的Linux系统调用命令

    常用的Linux系统调用命令   下面一些函数已经过时,被新的更好的函数所代替了(gcc在链接这些函数时会发出警告),但因为兼容的原因还保留着,这些函数将在前面标上“*”号以示区别.   一.进程控制 ...

  4. 常用的linux基础命令

    常用的linux基础命令 1.ls 显示目录属性 -l:(也可以简写成ll),列表显示权限等属性 -a:显示所有文件包括隐藏文件等 -d:只列出目录本身 2.chgrp 改变档案所属群组 eg:chg ...

  5. Arch Linux + KDE 配置&美化(持续更新~)

    Arch Linux + KDE 配置&美化(持续更新~) 这篇文章着重记录archlinux + KDE的一个基本的配置过程.不包括安装过程(使用archInstall.sh).内容大概有以 ...

  6. [转帖]各种命令,以及FAQ..持续更新.....

    各种命令,以及FAQ..持续更新..... https://www.cnblogs.com/jicki/p/5548668.html Linux 篇: CentOs 7 修改主机名 hostnamec ...

  7. IOS开发常用的linux命令

    pwd 在Linux层次结构中,用户可以在被授权的任意目录下利用mkdir命令创建新目录,也可以利用cd命令从一个目录转换到另一个目录.然而,没有提示符来告知用户目前处于哪一个目录中.想要知道当前所处 ...

  8. 嵌入式Linux开发教程:Linux常见命令(上篇)

    摘要:这是对周立功编著的<嵌入式Linux开发教程>的第7期连载.本期刊载内容有关LinuxLinux常见命令中的导航命令.目录命令和文件命令.下一期将连载网络操作命令.安装卸载文件系统等 ...

  9. 使用配置hadoop中常用的Linux(ubuntu)命令

    生成key: $ ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa $ cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized ...

随机推荐

  1. C# 类库项目 无法创建 “资源字典” 文件

    1.接触WPF有两个月时间了,准备自己写一个样式库,在vs新建 类库项目后无法创建资源字典. 2.解决办法: 打开项目工程文件      (  project.csproj) 在 <Proper ...

  2. 数据结构导论 四 线性表的顺序存储VS链式存储

    前几章已经介绍到了顺序存储.链式存储 顺序存储:初始化.插入.删除.定位 链式存储:初始化.插入.删除.定位 顺序存储:初始化 strudt student{ int ID://ID char nam ...

  3. JavaScript-----8.数组

    1.数组的概念 数组是指一组数据的集合,其中每个数据被称为元素,在数组中可以存放任意类型的元素 2. 创建数组 创建数组的两种方式: 利用new创建数组 利用数组字面量创建数组(最常用) 2.1 利用 ...

  4. Sass、LESS 和 Stylus各有千秋

    废话不多说直接上连接  为您详细比较三个 CSS 预处理器(框架):Sass.LESS 和 Stylus  

  5. UNIX系统编程知识点总结——思维导图

    根据考纲整理了一下本学期系统编程课的知识点,并且做成了思维导图便于理解和记忆 主要都是一些比较入门的知识点,UNIX博大精深,每一个知识点其实都能深挖 因为博客园不可能直接出思维导图,本文的主要内容都 ...

  6. 在IntelliJ IDEA中,Lombok注解@Slf4j找不到log解决方案

    在IntelliJ IDEA中,注解@Slf4j找不到log时,可以安装Lombok插件 File → settings → Plugins, 然后点击"Browse repositorie ...

  7. 计算机组成原理——DMA存取方式

    DMA(Direct Memory Access)直接存储器存取 高速大容量存储器和主存之间交换时,若采用程序直接传送或程序中断传送的方式,则会有如下问题发生.    1)采用程序直接传送,主机工作效 ...

  8. MFC图形编辑界面工具

    一.背景 喔,五天的实训终于结束了,学校安排的这次实训课名称叫高级程序设计实训,但在我看来,主要是学习了Visual C++ .NET所提供的MFC(Microsoft Foundation Clas ...

  9. Spring Boot AOP解析

    Spring Boot AOP 面向切面编程(AOP)通过提供另一种思考程序结构的方式来补充面向对象编程(OOP). OOP中模块化的关键单元是类,而在AOP中,模块化单元是方面. AOP(Aspec ...

  10. java架构之路(Sharding JDBC)mysql5.7yum安装和主从

    安装mysql5.7单机 1.获取安装yum包 [root@iZm5e7sz135n16ua2rmbk6Z local]# wget http://dev.mysql.com/get/mysql57- ...