2016-07-02 6 views
0

Я просто попадаю в VC и, в частности, git. Я понимаю основные команды, как git add/commit/remote но с трудом понимая вывод:Как читать git show command output

$ git show f27d852 

commit f27d852fc750a9c3f71eaf0acf586164b76faddf 
Author: myusername <[email protected]> 
Date: Tue Jun 28 22:59:35 2016 +0530 

    changed color to a different color 

diff --git a/css/business-casual.css b/css/business-casual.css 
index bbd44d7..ee1765e 100644 
--- a/css/business-casual.css 
+++ b/css/business-casual.css 
@@ -194,5 +194,5 @@ footer p { 
/* CUSTOM CSS - BY ME */ 

.brand { 
-  color: #ff0000; 
-  } 
\ No newline at end of file 
+  color: #ffdd000; 
+  } 

Что каждая строка означает? Как это прочитать. может кто-нибудь объяснить?

Благодаря Д.К.

+1

Это просто показывает вам детали последнего фиксации (на текущей ветке) - метаданные плюс diff. Какая часть, в частности, проблематична? –

+0

Я не понимаю следующие строки: 'diff --git a/..... b /' '--- a/... +++ b/..' '@@ -194,5 + 194,5 @@ footer p {'(почему есть ссылка' footer p {} ', которая никогда не менялась и, кроме того, где-то рядом с строкой 194) и строка' \ No newline в конце файла', когда там были пустыми линиями. – dkjain

+0

Сообщение 'No newline at end of file 'указывает, что один из файлов (первый в этом случае) является неполным. Последняя строка не заканчивается символом новой строки, так как предполагается, что строки в текстовом файле должны быть. См. [Этот вопрос] (http: // stackoverflow.ком/вопросы/729692/почему-должны-текстовые файлы на конец-с-новой строки). Выход diff сообщает вам все об изменениях между этими двумя файлами, даже о таких незначительных деталях, которые вам могут быть безразличны. –

ответ

1
commit f27d852fc750a9c3f71eaf0acf586164b76faddf 

SHA1, фиксации.

Author: myusername <[email protected]> 

Имя автора и адрес электронной почты, которые могут отличаться от имени участника и электронной почты.

Date: Tue Jun 28 22:59:35 2016 +0530 

Дата автора, которая может отличаться от даты проведения торгов.

changed color to a different color 

Сообщение журнала фиксации. Это может быть одна строка, или первая часть + пустая строка (и) + другая часть. Единственная строка или первая часть перед пустой строкой (линиями) равна subject, а другая часть после пустой строки (линий) равна body.

diff --git a/css/business-casual.css b/css/business-casual.css 

Два файла, которые были сопоставлены.

index bbd44d7..ee1765e 100644 

bbd44d7 является sha1 из сгустка до изменения и ee1765e SHA1, из сгустка после изменения. Вы можете запустить git show <blob-sha1> или git cat-file -p <blob-sha1>, чтобы просмотреть содержимое блоба.

--- a/css/business-casual.css 

Файл перед изменением.

+++ b/css/business-casual.css 

Файл после изменения.

@@ -194,5 +194,5 @@ footer p { 
/* CUSTOM CSS - BY ME */ 

.brand { 
-  color: #ff0000; 
-  } 
\ No newline at end of file 
+  color: #ffdd000; 
+  } 

194 это начало строки Diff и 5 это строки контекста. footer p { указывает, где находится часть diff. Строки без префикса + или - не изменяются. Если вы добавите одну строку, это +. Если вы удалите строку, это -. Если вы измените строку, это - и +.

+0

Хотя, я понял большую часть этого из другого ответа на SO, но все же спасибо за то, что он принял боль, чтобы ответить на это гораздо более подробно, чем другой ответ. – dkjain

1

Он предоставляет подробную информацию о фиксации, а затем список измененных файлов с ее отличиями (см unified diff подробности):

# commit id: 
commit f27d852fc750a9c3f71eaf0acf586164b76faddf 
# author: 
Author: myusername <[email protected]> 
# date committed: 
Date: Tue Jun 28 22:59:35 2016 +0530 
# commit message: 
    changed color to a different color 
# difference for css/business-casual.css : 
diff --git a/css/business-casual.css b/css/business-casual.css