天天看點

工作中常用操作指令

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: 持續內建