我希望看到所有git提交影響了我的一個文件中的當前行x-y。有沒有辦法可以做到這一點?git log文件的一部分
13
A
回答
11
現在git log
支持-L
選項像git blame
。這是在Git v1.8.4中添加的。
-L <start>,<end>:<file>
-L :<regex>:<file>
Trace the evolution of the line range given by "<start>,<end>" (or
the funcname regex <regex>) within the <file>. You may not give any
pathspec limiters. This is currently limited to a walk starting from a
single revision, i.e., you may only give zero or one positive revision
arguments. You can specify this option more than once.
0
並非真的是您的問題的答案,但您可以使用git blame <file>
並詢問寫下打擾您的行的人。
5
您可以使用git blame
與-l選項:
-L <start>,<end>
Annotate only the given line range. <start> and <end> can take one of these forms:
number
If <start> or <end> is a number, it specifies an absolute line number (lines count from 1).
/regex/
This form will use the first line matching the given POSIX regex. If <end> is a regex, it will search starting at the line given by <start>.
+offset or -offset
This is only valid for <end> and will specify a number of lines before or after the line given by <start>.
因此,這將是類似如下:
git blame -L 40,60 foobar
需要注意的是git的怪顯示每行的最新版本。你也可以嘗試用--reverse
選項:
--reverse
城歷史前進,而不是 落後。 此處顯示 線條已存在的最後一個修訂版本,而不是顯示 版本。這需要一個 修訂版本範圍,如START..END ,其中責任路徑存在於 START中。
http://www.kernel.org/pub/software/scm/git/docs/git-blame.html
可以或許還可以使用
gitk foobar
+2
儘管這隻顯示了一個變化..我想我們正在尋找類似git-log的東西,但是對於某個線路範圍。 – 2011-12-02 17:54:59
相關問題
- 1. 忽略`git log`中的git-svn文件
- 2. Git僅記錄文件的一部分?
- 3. Git log --graph;頭頂部
- 4. git log --stat相對於子文件夾
- 5. 將GIT LOG導出到Excel文件中
- 6. git log --pretty與文件列表?
- 7. 「git log」結果中「-0700」部分的含義是什麼?
- 8. Git log --stat分支的總結
- 9. Git Log Displays Nothing
- 10. git-log in eshell
- 11. Git pull change log
- 12. git log「--function-context」
- 13. git log - 分支是否工作?
- 14. 在遠程分支上運行`git log`
- 15. 忽略git log交叉分支副本
- 16. 混帳git cherry/git log --cherry
- 17. Git format-patch vs git log -p
- 18. git,創建一個分支來管理部分文件
- 19. Git的部分推及部分拉動,將文件
- 20. 爲什麼git log不是默認的git log --follow?
- 21. git log命令的邏輯說明git log master-1.0.83..HEAD
- 22. git log一個特定的HEAD〜N
- 23. xargs和git log --grep
- 24. Hbase .log文件
- 25. 提交一個文件的特定部分在Git中
- 26. 在GIT中解決文件衝突的一部分
- 27. 如何使用git log查看提交(和文件更改)的原始分支?
- 28. git log -p vs git show vs git diff
- 29. 「git rm * .log」和「git rm \ *。log」有什麼區別?
- 30. git log如何顯示提交比git log少?
爲什麼要這麼做? – 2011-05-05 14:00:05
我有一些沒有任何意義的代碼。我想看看它是如何在目前的狀態下結束的。這個文件有很多提交,其中大部分都不會觸及相關的行。我不想通過500次提交來找到這4件事。 – JonDrnek 2011-05-05 14:03:35
這是一個有趣的問題,我本人會問這個問題,但我意識到在上下文中沒有明確的方式來定義「行」。在文件瀏覽/編輯的上下文中,一行由其行號定義。但是一旦一個文件有n行添加到其中,那麼之後的每一行都會變成行x + n,並且你的日誌不再出現亂碼。在歷史中可能有一種明智的方式來回顧歷史,但我認爲它會是相當計算密集型的。 – naught101 2013-04-30 01:21:50