代碼差異對比之git diff詳解!

圖片

1糯而、測試對比文件準備

  • 文件A:diff1(diff1文件夾下可以放n個文件)

public class Diff1 {
    public static void main(String[] args){
        int getNum = randomNumber(10,20);
        if (getNum==30){
            System.out.println("中間數(shù)="+getNum);
        }else {
            System.out.println("此次沒有找到="+getNum);
        }
    }
    public static int randomNumber(int minNum,int maxNum){
        Random rand = new Random();
        int randomNum = rand.nextInt(maxNum);
        randomNum = randomNum%(maxNum-minNum+1)+minNum;
        return randomNum;
    }
}
  • 文件B:diff2(diff2文件夾下可以放n個文件)
public class Diff2 {
    public static void main(String[] args){
        int addLine =10;
        int getNum = randomNumber(10,20);
        if (getNum==30){
            System.out.println("中間數(shù)="+getNum);
        }else {
//            System.out.println("此次沒有找到="+getNum);
        }
    }
    public static int randomNumber(int minNum,int maxNum){
        Random rand = new Random();
        int randomNum = rand.nextInt(maxNum);
        randomNum = randomNum%(maxNum-minNum+1)+minNum;
        return randomNum;
    }
}

2账嚎、git diff對比命令

diff --git /Users/diff1 /Users/diff2
image.gif
  • 輸出結(jié)果


diff --git a/Users/cuizhongyuan/Desktop/work/010_project/vueSpringboot/Tal_Back/src/test/java/gitdiff/diff1/Diff1.java b/Users/cuizhongyuan/Desktop/work/010_project/vueSpringboot/Tal_Back/src/test/java/gitdiff/diff2/Diff2.java
similarity index 77%
rename from /Users/cuizhongyuan/Desktop/work/010_project/vueSpringboot/Tal_Back/src/test/java/gitdiff/diff1/Diff1.java
rename to /Users/cuizhongyuan/Desktop/work/010_project/vueSpringboot/Tal_Back/src/test/java/gitdiff/diff2/Diff2.java
index 7d6e724..bfca53f 100644
--- a/Users/cuizhongyuan/Desktop/work/010_project/vueSpringboot/Tal_Back/src/test/java/gitdiff/diff1/Diff1.java
+++ b/Users/cuizhongyuan/Desktop/work/010_project/vueSpringboot/Tal_Back/src/test/java/gitdiff/diff2/Diff2.java
@@ -1,14 +1,15 @@
-package gitdiff.diff1;
+package gitdiff.diff2;
 
 import java.util.Random;
 
-public class Diff1 {
+public class Diff2 {
     public static void main(String[] args){
+        int addLine =10;
         int getNum = randomNumber(10,20);
         if (getNum==30){
             System.out.println("中間數(shù)="+getNum);
         }else {
-            System.out.println("此次沒有找到="+getNum);
+//            System.out.println("此次沒有找到="+getNum);
         }
     }
     public static int randomNumber(int minNum,int maxNum){

3、輸出格式詳解(重點)

  • 第一行
diff --git a/Users/diff1/Diff1.java b/Users/diff2/Diff2.java

解釋:進行比較的是->diff1版本的Diff1.java(即變動前)和diff2版本的Diff2.java(即變動后)

  • 第二行
index 7d6e724..bfca53f 100644

解釋:表示兩個版本的git哈希值(index區(qū)域的7d6e724對象,與工作目錄區(qū)域的bfca53f對象進行比較),最后的六位數(shù)字是對象的模式(普通文件,644權(quán)限)

  • 第三行
--- a/Users/diff1/Diff1.java+++ b/Users/diff2/Diff2.java

解釋:"—“表示變動前的版本,”+++"表示變動后的版本

  • 第四行
@@ -1,14 +1,15 @@

解釋:其中"-1,14″分成三個部分解釋->”-“減號表示第一個文件(即diff1),"1″表示第1行,“14″表示連續(xù)14行.合在一起,就表示下面是第一個文件從第1行開始的連續(xù)14行.同樣的,”+1,15″表示變動后,成為第二個文件從第1行開始的連續(xù)15行

  • 最后是具體的變動內(nèi)容
-public class Diff1 {
+public class Diff2 {
     public static void main(String[] args){
+        int addLine =10;
         int getNum = randomNumber(10,20);
         if (getNum==30){
             System.out.println("中間數(shù)="+getNum);
         }else {
-            System.out.println("此次沒有找到="+getNum);
+//            System.out.println("此次沒有找到="+getNum);
         }
     }
     public static int randomNumber(int minNum,int maxNum){

解釋:+ int addLine =10;->表示:新增行
| - System.out.println(“此次沒有找到=”+getNum);
+// System.out.println(“此次沒有找到=”+getNum); ->表示改行的變動(- 表示之前雄卷,+表示之后)git diff 沒有修改的概念

4搓蚪、獲取到git diff對比結(jié)果可以做什么?

通過Git diff可以獲取到項目當前分支下提交前后的代碼變動結(jié)果丁鹉,有了這個結(jié)果進一步解析可以去做代碼覆蓋率的實現(xiàn)妒潭,在測試階段可以作為測試覆蓋度的一個指標,同時也可以查漏補缺那些業(yè)務(wù)代碼邏輯沒有測到揣钦,實現(xiàn)精準測試的目的雳灾。

  • 實際項目中實踐如圖:

圖片

更多測試技術(shù)分享、學習資源以及一些其他福利可關(guān)注公眾號:【Coding測試】獲确氚肌:

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末谎亩,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌团驱,老刑警劉巖摸吠,帶你破解...
    沈念sama閱讀 206,839評論 6 482
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異嚎花,居然都是意外死亡寸痢,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,543評論 2 382
  • 文/潘曉璐 我一進店門紊选,熙熙樓的掌柜王于貴愁眉苦臉地迎上來啼止,“玉大人,你說我怎么就攤上這事兵罢∠追常” “怎么了?”我有些...
    開封第一講書人閱讀 153,116評論 0 344
  • 文/不壞的土叔 我叫張陵卖词,是天一觀的道長巩那。 經(jīng)常有香客問我,道長此蜈,這世上最難降的妖魔是什么即横? 我笑而不...
    開封第一講書人閱讀 55,371評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮裆赵,結(jié)果婚禮上东囚,老公的妹妹穿的比我還像新娘。我一直安慰自己战授,他們只是感情好页藻,可當我...
    茶點故事閱讀 64,384評論 5 374
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著植兰,像睡著了一般份帐。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上钉跷,一...
    開封第一講書人閱讀 49,111評論 1 285
  • 那天弥鹦,我揣著相機與錄音,去河邊找鬼爷辙。 笑死彬坏,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的膝晾。 我是一名探鬼主播栓始,決...
    沈念sama閱讀 38,416評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼血当!你這毒婦竟也來了幻赚?” 一聲冷哼從身側(cè)響起禀忆,我...
    開封第一講書人閱讀 37,053評論 0 259
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎落恼,沒想到半個月后箩退,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,558評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡佳谦,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,007評論 2 325
  • 正文 我和宋清朗相戀三年戴涝,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片钻蔑。...
    茶點故事閱讀 38,117評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡啥刻,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出咪笑,到底是詐尸還是另有隱情可帽,我是刑警寧澤,帶...
    沈念sama閱讀 33,756評論 4 324
  • 正文 年R本政府宣布窗怒,位于F島的核電站映跟,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏兜粘。R本人自食惡果不足惜申窘,卻給世界環(huán)境...
    茶點故事閱讀 39,324評論 3 307
  • 文/蒙蒙 一弯蚜、第九天 我趴在偏房一處隱蔽的房頂上張望孔轴。 院中可真熱鬧,春花似錦碎捺、人聲如沸路鹰。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,315評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽晋柱。三九已至,卻和暖如春诵叁,著一層夾襖步出監(jiān)牢的瞬間雁竞,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,539評論 1 262
  • 我被黑心中介騙來泰國打工拧额, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留碑诉,地道東北人。 一個月前我還...
    沈念sama閱讀 45,578評論 2 355
  • 正文 我出身青樓侥锦,卻偏偏與公主長得像进栽,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子恭垦,可洞房花燭夜當晚...
    茶點故事閱讀 42,877評論 2 345

推薦閱讀更多精彩內(nèi)容