سؤال

مع التخريب ، يمكنني استخدام 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

نصائح أخرى

يبدو أنك تريد Git Diff و/أو سجل git. تحقق أيضا جيتك

gitk path/to/file
git diff path/to/file
git log path/to/file

أحب الاستخدام 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 يجب أن تعمل

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top