开发常用Git/Linux/idea命令快捷键总结(持续更新)
在开发过程中,会使用越来越多的命令,或快捷键,来帮助我们提高工作效率。本文记录了我在平时积累的常用命令,分享给大家。
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
看似达到的效果是一样的,其实完全不同.
- 上面我们说的如果你已经push到线上代码库, reset 删除指定commit以后,你git push可能导致一大堆冲突.但是revert 并不会.
- 如果在日后现有分支和历史分支需要合并的时候,reset 恢复部分的代码依然会出现在历史分支里.但是revert 方向提交的commit 并不会出现在历史分支里.
- 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命令快捷键总结(持续更新)的更多相关文章
- Linux三剑客命令使用(持续更新)
(本文档内容部分来源于网络) awk删除文件第一列 1.采用awk awk '{$1="";print $0}' file 2.采用sed sed -e 's/[^]* //' f ...
- day 2克隆虚拟机器minimal需要注意的问题和制作本地yum源和常用的Linux的命令
------- 克隆bee2 PS:因为复制机器后,又多了一个网卡eth1.本来只有一个网卡eth0,下面是解决方案. 解决克隆后eth0不见的问题 1.直接修改vi /etc/sysconfig/ ...
- 常用的Linux系统调用命令
常用的Linux系统调用命令 下面一些函数已经过时,被新的更好的函数所代替了(gcc在链接这些函数时会发出警告),但因为兼容的原因还保留着,这些函数将在前面标上“*”号以示区别. 一.进程控制 ...
- 常用的linux基础命令
常用的linux基础命令 1.ls 显示目录属性 -l:(也可以简写成ll),列表显示权限等属性 -a:显示所有文件包括隐藏文件等 -d:只列出目录本身 2.chgrp 改变档案所属群组 eg:chg ...
- Arch Linux + KDE 配置&美化(持续更新~)
Arch Linux + KDE 配置&美化(持续更新~) 这篇文章着重记录archlinux + KDE的一个基本的配置过程.不包括安装过程(使用archInstall.sh).内容大概有以 ...
- [转帖]各种命令,以及FAQ..持续更新.....
各种命令,以及FAQ..持续更新..... https://www.cnblogs.com/jicki/p/5548668.html Linux 篇: CentOs 7 修改主机名 hostnamec ...
- IOS开发常用的linux命令
pwd 在Linux层次结构中,用户可以在被授权的任意目录下利用mkdir命令创建新目录,也可以利用cd命令从一个目录转换到另一个目录.然而,没有提示符来告知用户目前处于哪一个目录中.想要知道当前所处 ...
- 嵌入式Linux开发教程:Linux常见命令(上篇)
摘要:这是对周立功编著的<嵌入式Linux开发教程>的第7期连载.本期刊载内容有关LinuxLinux常见命令中的导航命令.目录命令和文件命令.下一期将连载网络操作命令.安装卸载文件系统等 ...
- 使用配置hadoop中常用的Linux(ubuntu)命令
生成key: $ ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa $ cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized ...
随机推荐
- Java+TestNG+Maven+Excel+IDEA接口自动化入门(一)环境配置
前置: 1.本机环境安装了maven并配置环境变量 2.本机环境安装了IDEA软件 3.本机环境安装了Java jdk 8版本 4.有一定java和maven基础 因为以上网上例子很多,就不再重复赘述 ...
- 关于tomcat对编码不正确的url参数报错的解决
按照规范,url参数必须使用限定字符,其它字符需要进行编码,用像js的encodeurlcomponent函数. 在IE和360浏览器的兼容模式,不会自动对url的参数进行编码,会导致tomcat报错 ...
- 给定数轴上的n个点,求距离最近的两个点的距离
public class MinimumSpacing { //给定平面上的n个点,求距离最近的两个点的距离. //无从下手的话,先分解问题,分解成简单的,逐个分析,然后再合在一起考虑 //这是个2维 ...
- 《Web Development with Go》Mangodb查询collection内所有记录
相当于select * from table; package main import ( "fmt" "log" "time" " ...
- Ubuntu18.04 卸载mysql5.7
查看MySQL的依赖项:dpkg --list|grep mysql 要删除上面的这些. 开始卸载: sudo apt-get autoremove --purge mysql-server sudo ...
- Hibernate session.save()实体类,主键增长问题
实体类如下: package com.wondersgroup.test.entity; import java.io.Serializable; import javax.persisten ...
- SpringBoot运行异常时捕获
一.目录展示 二.FirstController 三.ExceptionHandler 捕获异常类 四.效果展示
- IT兄弟连 HTML5教程 HTML5表单 H5表单提交综合实例
这里我们创建一个填写个人基本信息的表单,使用了表单元素有<input>输入框.<datalist>选项列表.<textarea>文本框,通用的表单输入类型有text ...
- C#中获取指定路径下特定开头和后缀的所有文件
场景 指定一个文件路径,获取当前路径下所有文件,并筛选出以指定内容开头和结尾的文件. 注: 博客主页: https://blog.csdn.net/badao_liumang_qizhi 关注公众号 ...
- 【转】Kotlin的inline内联函数
原文链接:https://blog.csdn.net/Jaden_hool/article/details/78437947 方法调用流程 调用一个方法是一个压栈和出栈的过程,调用方法时将栈针压入方法 ...