كيفية عرض تاريخ الملف في GIT؟
-
21-09-2019 - |
سؤال
مع التخريب ، يمكنني استخدام TortoisesVN لعرض تاريخ/سجل ملف.
كيف يمكنني فعل هذا مع git؟
مجرد البحث عن سجل التاريخ لملف معين ، ثم القدرة على مقارنة الإصدارات المختلفة.
المحلول
يستخدم git log
لعرض تاريخ الالتزام. كل الالتزام لديه محدد المراجعة المرتبط به هو مفتاح التجزئة (على سبيل المثال 14b8d0982044b0c49f7a855e396206ee65c0e787
و b410ad4619d296f9d37f0db3d0ff5b9066838b39
). لعرض الفرق بين اثنين من الالتزامات المختلفة ، استخدم git diff
مع الشخصيات القليلة الأولى من محددات المراجعة لكلا الالتزامات ، مثل ذلك:
# diff between commits 14b8... and b410...
git diff 14b8..b410
# only include diff of specified files
git diff 14b8..b410 path/to/file/a path/to/file/b
إذا كنت ترغب في الحصول على نظرة عامة على جميع الاختلافات التي حدثت من الالتزام بالالتزام ، فاستخدم git log
أو git whatchanged
مع خيار التصحيح:
# include patch displays in the commit history
git log -p
git whatchanged -p
# only get history of those commits that touch specified paths
git log path/a path/b
git whatchanged path/c path/d
نصائح أخرى
أحب الاستخدام gitk name_of_file
يعرض هذا قائمة لطيفة من التغييرات التي حدثت في ملف في كل التزام ، بدلاً من عرض التغييرات على جميع الملفات. يجعل من السهل تعقب شيء حدث.
يمكنك أيضا استخدام تيغ للحصول على متصفح مستودع GIT المستند إلى NCURSES. لعرض تاريخ ملف:
tig path/to/file
المفضل لدي هو git log -p <filename>
, ، والتي ستمنحك تاريخًا لجميع ارتكاب الملف المحدد وكذلك الاختلافات لكل الالتزام.
العديد من متصفحات تاريخ GIT ، بما في ذلك git log
(و "سجل git -graph") ، GITK (في TCL/TK ، جزء من GIT) ، QGIT (في QT) ، TIG (واجهة وضع النص إلى git ، باستخدام ncurses) ، giggle (في GTK+) ، السلحفاة والجيت و git -حصر مسار دعم CHEETAH (على سبيل المثال gitk path/to/file
).
بالطبع ، إذا كنت تريد شيئًا قريبًا من TortoisesVn ، فيمكنك استخدامك فقط السلحفاة.
توفر السلحفاة أيضًا ملف أداة سطر الأوامر لمشاهدة تاريخ ملف. باستخدام PowerShell:
C:\Program` Files\TortoiseGit\bin\TortoiseGitProc.exe /command:log /path:"c:\path\to\your\file.txt"
git log --all -- path/to/file
يجب أن تعمل