高木のブログ

git diff コマンドで省略せず全行表示する

2022/11/05

git diff はデフォルトで変更された行の前後3行分だけ表示されるようになっている

$ git diff main.tf
diff --git a/main.tf b/main.tf
index e82334f..361f6ac 100644
--- a/main.tf
+++ b/main.tf
@@ -1,3 +1,7 @@
+variable access_key {}
+variable secret_key {}
+variable endpoints_s3 {}
+
 terraform {
   required_providers {
     aws = {
@@ -8,13 +12,13 @@ terraform {
 }

 provider "aws" {
-  access_key = "access key"
-  secret_key = "secret key"
+  access_key = var.access_key
+  secret_key = var.secret_key
   skip_credentials_validation = true
   skip_region_validation = true
   skip_requesting_account_id = true
   endpoints {
-    s3 = "https://<account id>.r2.cloudflarestorage.com"
+    s3 = var.endpoints_s3
   }
   region = "auto"
 }

省略しないで全て表示させたい時は、-U<任意の数字> オプションを使うと良い
変更された行の前後<任意の数字>分表示されるようになる

$ git diff -U9999 main.tf
diff --git a/main.tf b/main.tf
index e82334f..361f6ac 100644
--- a/main.tf
+++ b/main.tf
@@ -1,24 +1,28 @@
+variable access_key {}
+variable secret_key {}
+variable endpoints_s3 {}
+
 terraform {
   required_providers {
     aws = {
       source = "hashicorp/aws"
       version = "4.34.0"
     }
   }
 }

 provider "aws" {
-  access_key = "access key"
-  secret_key = "secret key"
+  access_key = var.access_key
+  secret_key = var.secret_key
   skip_credentials_validation = true
   skip_region_validation = true
   skip_requesting_account_id = true
   endpoints {
-    s3 = "https://<account id>.r2.cloudflarestorage.com"
+    s3 = var.endpoints_s3
   }
   region = "auto"
 }

 resource "aws_s3_bucket" "cloudflare-bucket" {
   bucket = "my-tf-test-bucket"
 }

9999くらいを指定したら実質省略なしになる

補足

このオプションは git diff -h には載っていなかったが、git diff —help には載っていた

-U<n>, --unified=<n>
    Generate diffs with <n> lines of context instead of the usual three. Implies --patch.

参考

[Linux][Git][diff] diffコマンドで省略表示しないようにする(diffを追加してかつ全行を表示) - Qiita


ytkg

Written by ytkg, Twitter, GitHub