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