天天看点

工作中常用操作命令

windows杀死进程命令: 输入命令: netstat -aon|findstr 49157

  使用pid杀死进程                     taskkill /pid {pid}

                       taskkill /f /t /im 92019

windows下杀死所有java进程  taskkill /F /IM java.exe

maven 提交提示head错误时当出现You have not concluded your merge (MERGE_HEAD exists).

Please, commit your changes before you can merge.时可选择如下修改

保留本地修改取消上次merge的方法

git merge --abort

git reset --merge

git pull

down下线上代码版本,抛弃本地的修改

git fetch --all

git reset --hard origin/master

git fetch

在git push的时候,有时候我们会想办法撤销git commit的内容

1、找到之前提交的git commit的id

git log      英文状态下输入Q可退出日志查看

找到想要撤销的id

2、git reset –hard id

完成撤销,同时将代码恢复到前一commit_id 对应的版本

3、git reset id

完成Commit命令的撤销,但是不对代码修改进行撤销,可以直接通过git commit 重新提交对本地代码的修改

在git中需要放弃本地修改回滚时用以下命令

git fetch --all

git reset --hard origin/4.6.1(分支 master等)

git如何撤销上一次commit操作

1.第一种情况:还没有push,只是在本地commit

git reset --soft|--mixed|--hard <commit_id>

git push develop develop --force  (本地分支和远程分支都是 develop)

这里的<commit_id>就是每次commit的SHA-1,可以在log里查看到

--mixed    会保留源码,只是将git commit和index 信息回退到了某个版本.

--soft   保留源码,只回退到commit信息到某个版本.不涉及index的回退,如果还需要提交,直接commit即可.

--hard    源码也会回退到某个版本,commit和index 都会回退到某个版本.(注意,这种方式是改变本地代码仓库源码)

当然有人在push代码以后,也使用 reset --hard <commit...> 回退代码到某个版本之前,但是这样会有一个问题,你线上的代码没有变,线上commit,index都没有变,当你把本地代码修改完提交的时候你会发现全是冲突.....这时换下一种

2.commit push 代码已经更新到远程仓库

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

git revert <commit_id>

revert 之后你的本地代码会回滚到指定的历史版本,这时你再 git push 既可以把线上的代码更新。

git checkout -b branchname <commitId>将本地代码改为对应的commitid对应的版本分支名称为branchname

注意:git revert是用一次新的commit来回滚之前的commit,git reset是直接删除指定的commit,看似达到的效果是一样的,其实完全不同。

git合并多次commit

git rebase 命令:将多次commit合并,只保留一次提交历史记录。

1、git log 查看提交历史记录,例如我们需要将 8d583c56 、ba29f993 、0963cff1、d5932e0d 、71101808 、d8915ad2 合并为一个commit。

2、git 压缩 git rebase -i HEAD~6 or git rebase -i 10b73908

-i 的参数是不需要合并的 commit 的 hash 值,~6代表是6和提交的这里的10b73908 为 d8915ad2 的前一次提交记录; 该命令执行后,进入 vi 的编辑模式,6次提交的commit倒序排列,最下面的是最近的一次提交记录。

修改第2~6行的第一个单词 pick 为 squash or s,然后 输入:wq or x 保存退出。

pick 的意识是要执行这个 commit

squash 的意识是这个 commit 会被合并到前一个 commit

git 会压缩提交历史,若有冲突,需要进行修改,修改的时候保留最新的历史记录,修改完之后输入以下命令:

git add .

git rebase --continue

若想退出放弃此次压缩,执行命令:

git rebase --abort

若无冲突 or 冲突已 fix,则会出现一个 commit message 编辑页面,修改 commit message ,然后 输入:wq or x 保存退出。

3、同步到远程 git 仓库

输入:git push -f or git push --force

查看远程仓库效果,多次 commit 已被合并成一次 commit

maven中pom间接依赖:

如果发现某个jar包,自己的pom中并没有定义,想看一下是被哪个jar包间接引用的,两种方法

(1)用mvn dependency:tree>temp/tree.txt,直接输出到当前项目下,然后在idea中打开,搜索要找的jar包名字即可.

(2)mvn dependency:tree -Dincludes=jline   查找包含jline的包的依赖

maven打包部署:

mvn -U clean package -Dmaven.test.skip=true

linux查看日志:

对日志记录做多次grep过滤输出,格式如下:

tail -f log | grep --line-buffer xxx | grep --line-buffer yyy

查询单个过滤条件用:

tail -f log | grep  xxx

查询关键字前后十行

cat -n catalina.out | grep "ZY0000002816012" -C 10

获取文件中的某个关键字key1, key2, key3:

cat fileName | grep -E "key1|key2|key3"

获取文件中的多个关键字,同时满足:

cat fileName | grep key1 | grep key2| grep key3

linux操作:

文件移动 mv a ./b  ./表示当前路径  

文件重命名 mv a b 将a重命名为b

linux文件权限:

改变文件或目录所属的组用 chgrp 改变文件的所有者用chown R代表递归

chown service aa 把文件aa的所有者改为service

chown -R service /home/qq  (把home目录下的qq目录下的所有子文件的拥有者改为service用户)

chgrp - R book /opt/local /book  改变/opt/local /book/及其子目录下的所有文件的属组为book。

linux打包:

tar –cvf jpg.tar *.jpg  将目录里所有jpg文件打包成tar.jpg

tar –czf jpg.tar.gz *.jpg   将目录里所有jpg文件打包成jpg.tar后,并且将其用gzip压缩,生成一个gzip压缩过的包,命名为jpg.tar.gz

zip jpg.zip *.jpg   zip格式的压缩,需要先下载zip for linux

tar –xvf file.tar  解压 tar包

tar -xzvf file.tar.gz 解压tar.gz

unzip file.zip 解压zip

unrar e file.rar 解压rar

linux查看端口占用:

netstat -tunlp|grep 端口号,查看端口占用情况

netstat -tunlp|grep 8080

根据程序名称查询进程ID

 ps -ef|grep 进程名

如果需要查找某一个特定的进程,可以把ps和grep一起用

ps -aux|grep Oracle,查找Oracle的进程

或者在grep后输入进程ID可以查看有关进程

linux下使用du -h --max-depth=1查看当前目录下文件夹大小情况

linx清空控制台:

clear

java项目远程调试:

在jvm参数中输入 -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005

git提交规范:

feat: 新功能(feature)

fix: 修补bug

docs: 文档(documentation)

style: 格式(不影响代码运行的变动)

refactor: 重构(即不是新增功能,也不是修改bug的代码变动)

chore: 构建过程或辅助工具的变动

revert: 撤销,版本回退

perf: 性能优化

test:测试

improvement: 改进

build: 打包

ci: 持续集成