這常常發生在我身上: 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
經過這種方式,我能夠快速查看自上次簽入以來我在該文件中所作的工做。 命令行
若是你想看看你尚未git add
ed: code
git diff myfile.txt
或者若是您想查看已添加的更改 it
git diff --cached myfile.txt
你爲git commit
嘗試了-v
(或--verbose
)選項嗎? 它在消息編輯器中添加了提交的差別。 io
我認爲這是保證GUI的完美用例。 - 雖然我徹底理解它在命令行中也能夠很好地實現。 ast
就我的而言,個人每一次承諾,我都是從git-gui作的。 若是有意義的話,我能夠在其中使用單獨的hunks / lines進行屢次原子提交。
Gut Gui能夠在格式良好的彩色界面中查看差別,至關清淡。 看起來這也是你應該結帳的東西。
git diff HEAD file
將顯示您在上次提交時添加到工做樹中的更改。 將顯示全部更改(暫存或未暫存)。
要檢查本地差別:
git diff myfile.txt
或者您可使用diff工具(若是您想要還原某些更改):
git difftool myfile.txt
要更有效地使用git difftool
,請安裝並使用您喜歡的GUI工具,如Meld,DiffMerge或OpenDiff。
注意:您也可使用.
(而不是文件名)來查看當前目錄的變化。
爲了檢查每行的更改,請使用: git blame
,它將顯示在哪一個提交中提交的行。
要在提交以前查看實際文件(其中master
是您的分支),請運行:
git show master:path/my_file