git blame [filename] 命令
我們在工作中常碰到同一份代碼被多個同事修改的問題,那麼想找到代碼的某一行是誰修改的呢 ? git blame 命令就派上用場啦 ~~~
如: git blame Solution.java
a2b1a432 (duxinglangzi 2018-03-22 18:12:15 +0800 18) public static void main(String[] args) {
427d1c00 (duxinglangzi 2018-03-26 17:02:48 +0800 19) int[] nums = {-1, 0, 1, 2, -1, -4};
427d1c00 (duxinglangzi 2018-03-26 17:02:48 +0800 20) int target = 0;
a2b1a432 (duxinglangzi 2018-03-22 18:12:15 +0800 21)
427d1c00 (duxinglangzi 2018-03-26 17:02:48 +0800 22) int[] result = threeSum(nums,target);
a2b1a432 (duxinglangzi 2018-03-22 18:12:15 +0800 23) //System.out.println(result);
a2b1a432 (duxinglangzi 2018-03-22 18:12:15 +0800 24) System.out.println(Arrays.toString(result));
a2b1a432 (duxinglangzi 2018-03-22 18:12:15 +0800 25) }
顯示順序依次爲: 版本號、作者、時間、行號 、代碼行
如果代碼行數過多,那麼可以使用 -L 來通過行號區間查找
如: git blame Solution.java -L 18,23
a2b1a432 (duxinglangzi 2018-03-22 18:12:15 +0800 18) public static void main(String[] args) {
427d1c00 (duxinglangzi 2018-03-26 17:02:48 +0800 19) int[] nums = {-1, 0, 1, 2, -1, -4};
427d1c00 (duxinglangzi 2018-03-26 17:02:48 +0800 20) int target = 0;
a2b1a432 (duxinglangzi 2018-03-22 18:12:15 +0800 21)
427d1c00 (duxinglangzi 2018-03-26 17:02:48 +0800 22) int[] result = threeSum(nums,target);
a2b1a432 (duxinglangzi 2018-03-22 18:12:15 +0800 23) //System.out.println(result);
敲黑板: git blame [filename] -L 開始行號,結束行號
注意了 -L 一定要大寫的 L
git blame 命令到這裏就結束啦~~~~~~~~~~~~~~~~
另外有朋友看到某一行代碼的版本號和作者之後,想看這個作者在這個版本號下還提交了那些內容 ? 這時候可以使用 git show commitID
來實現。
如: git show 427d1c00
public static void main(String[] args) {
- int[] nums = {5,1,3,10,26,35};
- int target = 26;
+ int[] nums = {-1, 0, 1, 2, -1, -4};
+ int target = 0;
- int[] result = binarySearch(nums,target);
+ int[] result = threeSum(nums,target);
//System.out.println(result);
System.out.println(Arrays.toString(result));
}
歡迎到我github 交流討論: https://github.com/duxinglangzi