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

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)%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 方法参数提示

更多:

idea查看git分支快捷键_开发常用Git/Linux/idea命令快捷键总结(持续更新)相关推荐

  1. git 分支合并_批量删除GIT已合并到master的分支

    1. 切换到master分支 git checkout master 2. 删除匹配关键字"bugfix"的本地分支 | grep xargs 命令将参数按行执行, 详细 Linu ...

  2. Jenkins 流水线 获取git 分支列表_使用Jenkins Git参数实现分支标签动态选择

    1.1 为什么要使用GIT参数? 我们为什么要使用 git参数呢? 每个项目代码库都会有不同的分支,(如果你没有用多分支流水线的情况下)对于普通的流水线项目我们可以 让一条流水线来支持多个分支的发布, ...

  3. Git分支及其协同开发

    Git协同开发 Git分支 Git是如何保存数据的 Git分支的本质 Git分支的操作 远程仓库与本地仓库分支开发 一个项目多个远程仓库 远程仓库操作命令 协同开发 Git flow工作流 GitLu ...

  4. Git 分支的创建与切换 —— Git 学习笔记 14

    Git 分支的创建与切换 文章目录 Git 分支的创建与切换 Git 分支的本质 分支创建 分支切换 参考资料 几乎所有的版本控制系统都以某种形式支持分支. 使用分支意味着你可以把你的工作从开发主线上 ...

  5. Git分支创建、合并、上传等命令

    Git分支创建.合并.上传等命令 一. 创建test分支提交步骤 1.列出所有分支 git branch -a 2.创建test分支 git branch test 3.切换到test分支: git ...

  6. 前端常用的 59 个工具类【持续更新】

    #前端常用的 59 个工具类[持续更新] 前言 前端开发有时会处理一部分后台返回的数据,或者根据数据判断做一些处理; 这个时候就非常有必要将一些常用的工具类封装起来; 本文根据常用的一些工具类封装了 ...

  7. hadoop如何使用linux命令,使用配置hadoop中常用的Linux(ubuntu)命令

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

  8. Linux简单知识点梳理(持续更新中)_莫韵乐的Linux王国

    Linux简单知识点梳理(持续更新中) Linux系统特点 特点 开放性 多用户 良好的用户界面 提供丰富的网络功能 设备独立性 可靠的系统安全 良好的可移植性 ##### Linux系统体系结构 名 ...

  9. Dataset:数据集集合(综合性)——机器学习、深度学习算法中常用数据集大集合(建议收藏,持续更新)

    Dataset:数据集集合(综合性)--机器学习.深度学习算法中常用数据集大集合(建议收藏,持续更新) 目录 常规数据集 各大方向分类数据集汇总 具体数据集分类 相关文章 DL:关于深度学习常用数据集 ...

最新文章

  1. android 显示yuv数据格式,YUV数据格式的理解
  2. 中小型网络的域环境搭建--第五季(搭建FTP服务器)
  3. localdatetime 默认时间_datetime-local设置初始值
  4. 炒菜机器人放食材的顺序_2年要开1000家 碧桂园旗下千玺机器人餐厅开业
  5. 20135302魏静静——linux课程第三周实验及总结
  6. python 堆栈溢出_IAR堆栈溢出的问题
  7. SOA项目技术实施指南
  8. 用root进行telnet登陆
  9. 操作系统-UNIX三级索引技术
  10. light动名词_英语中什么叫动名词?加ING的就是吗?
  11. Unity Profiler分析器-Rendering
  12. C#发送ZPL控制斑马Zebra打印机源码
  13. 工资管理系统/c语言期末大作业学习经历
  14. WiFi基本概念(十三)射频(一)(EVM)
  15. webkit之webpage
  16. mysql唯一key_MySQL唯一约束(UNIQUE KEY)
  17. 一键完成:批量转pdf图片为png、svg格式图片
  18. 智慧园区三维可视化运营管理平台的建设思路
  19. PYNQ-Z2-开箱测试
  20. 机器学习强基计划2-2:一文详解ID3、C4.5、CART决策树算法+ Python实现

热门文章

  1. ubuntu下启动、停止、重启apache2
  2. [Python] 字典 get(key, default=None):获取字典中相应键的对应值
  3. matlab2c使用c++实现matlab函数系列教程-ones函数
  4. 实验总结:Java+oracle数据库实现图书馆管理系统
  5. 生成式对抗网络GAN生成手写数字
  6. int n引发的中断应用——编写中断7CH的中断例程
  7. UVA10838 The Pawn Chess
  8. 单词 (Play on Words UVA - 10129 )
  9. 第一次个人项目【词频统计】——PSP表格
  10. date-打印或者设置系统日期和时间