如何在提交以前在git中查看文件差別

這常常發生在我身上: git

我在一兩天內同時處理了幾個相關的更改,當須要提交時,我最終忘記了特定文件中的更改。 (這只是一個我的的git repo,因此我能夠在提交中有多個更新。) 編輯器

有沒有辦法預覽個人本地文件(即將簽入)和該文件的最後一次提交之間的更改? 工具

就像是: ui

git diff --changed /myfile.txt

它會打印出以下內容: spa

line 23
  (last commit): var = 2+2
  (current):     var = myfunction() + 2

line 149
  (last commit): return var
  (current):     return var / 7

經過這種方式,我能夠快速查看自上次簽入以來我在該文件中所作的工做。 命令行


#1樓

若是你想看看你尚未git add ed: code

git diff myfile.txt

或者若是您想查看已添加的更改 it

git diff --cached myfile.txt

#2樓

你爲git commit嘗試了-v (或--verbose )選項嗎? 它在消息編輯器中添加了提交的差別。 io


#3樓

我認爲這是保證GUI的完美用例。 - 雖然我徹底理解它在命令行中也能夠很好地實現。 ast

就我的而言,個人每一次承諾,我都是從git-gui作的。 若是有意義的話,我能夠在其中使用單獨的hunks / lines進行屢次原子提交。

Gut Gui能夠在格式良好的彩色界面中查看差別,至關清淡。 看起來這也是你應該結帳的東西。


#4樓

git diff HEAD file

將顯示您在上次提交時添加到工做樹中的更改。 將顯示全部更改(暫存或未暫存)。


#5樓

要檢查本地差別:

git diff myfile.txt

或者您可使用diff工具(若是您想要還原某些更改):

git difftool myfile.txt

要更有效地使用git difftool ,請安裝並使用您喜歡的GUI工具,如Meld,DiffMerge或OpenDiff。

注意:您也可使用. (而不是文件名)來查看當前目錄的變化。

爲了檢查每行的更改,請使用: git blame ,它將顯示在哪一個提交中提交的行。


要在提交以前查看實際文件(其中master是您的分支),請運行:

git show master:path/my_file
相關文章
相關標籤/搜索