গিট রেপোর উপ ডিরেক্টরিতে গিট লগের ইতিহাস কীভাবে প্রদর্শিত হয়?


228

বলুন যে আমার কাছে একটি গিট রেপো রয়েছে যা দেখতে এটির মতো দেখাচ্ছে।

foo/
  .git/
  A/
   ... big tree here
  B/
   ... big tree here

কোনও নির্দিষ্ট ডিরেক্টরিতে কেবল লগ বার্তা দেখানোর জন্য গিট লগকে জিজ্ঞাসা করার কোনও উপায় আছে কি? উদাহরণস্বরূপ আমি দেখতে চাই যে কেবলমাত্র ফু / এ-তে স্পর্শ করা ফাইলগুলি কি করে?

উত্তর:


242

ডিরেক্টরি থেকে foo/, ব্যবহার

  git log -- A

<path>..আপনার <since>..<until>রেফস্পেক থেকে আলাদা করতে '-' দরকার।

# Show changes for src/nvfs
$ git log --oneline -- src/nvfs
d6f6b3b Changes for Mac OS X
803fcc3 Initial Commit

# Show all changes (one additional commit besides in src/nvfs).
$ git log --oneline
d6f6b3b Changes for Mac OS X
96cbb79 gitignore
803fcc3 Initial Commit

1
যাইহোক, "গিট লগ - এ বি" করার আগে আপনার "ফু" ফোল্ডারে থাকা উচিত
সের্গেই লেইকো

22
লোকেদের স্কিম-রিডিংয়ের জন্য , এটি ওপি-র অনুরোধ অনুসারে নয়, পরিবর্তিত হয় A এবং দেখায়BA
রিডিংয়ের জন্য

1
@ গুজোনার, যেখানে নির্দিষ্ট ফোল্ডারের নাম পরিবর্তন করা হয়েছিল সেখানে সমস্ত কমিটগুলি খুঁজে পাওয়ার কোনও উপায় কি? ফোল্ডারটি আশেপাশে সরে যেতে পারত, সুতরাং আমি ফোল্ডারটি কীভাবে এবং কোথায় স্থানান্তরিত করেছিল তা অনুসন্ধান করতে হবে না
আলফা_989

3
AOP ওপির অনুরোধ অনুসারে কেবল পরিবর্তনগুলি প্রদর্শন করতে আপডেট হয়েছে ।
GoZoner

ডিরেক্টরিটি যদি বর্তমান মাথাতেই মুছে ফেলা হয়?
অ্যারন ফ্রাঙ্ক

34

যদি আপনি এটি গ্রাফিকভাবে দেখতে চান তবে আপনি ব্যবহার করতে পারেন

gitk -- foo/A

এখানে চিত্র বর্ণনা লিখুন


26

আপনি git logসংশ্লিষ্ট ফোল্ডারগুলির পাথের নামগুলি ব্যবহার করতে পারেন :

git log A B

লগটি কেবল Aএবং এর মধ্যে করা কমিটগুলি দেখায় B। আমি সাধারণত --statজিনিসগুলিকে কিছুটা সুন্দর করে তুলি যা দ্রুত প্রতিশ্রুতিবদ্ধদের জন্য সহায়তা করে।


26

প্রবেশ করান

git log .

নির্দিষ্ট ডিরেক্টরি থেকে, এটি সেই ডিরেক্টরিতে কমিট দেয়।


4
আমার জন্য কাজ করা হয়নি ... নির্দিষ্ট ডিরেক্টরিতে অবতরণ এবং গিট লগ দেওয়ার পরে। মূল থেকে সমস্ত প্রতিশ্রুতি আমাকে দিয়েছেন।
একেএস

1
আমার জন্য কাজ কর. গিট ব্যাশ ব্যবহার
বাকলি

2

যে ফোল্ডারে ফোল্ডারটি সরানো হয়েছিল সেখানে ট্র্যাকিং ট্র্যাকিংয়ের জন্য, আমি ব্যবহার শুরু করেছি:

git rev-list --all --pretty=oneline -- "*/foo/subfoo/*"

এটি নিখুঁত নয় কারণ এটি একই নামের সাথে অন্য ফোল্ডারগুলিকে দখল করবে তবে এটি যদি অনন্য হয় তবে এটি কাজ করে বলে মনে হচ্ছে।


0

অন্যান্য উত্তরগুলি কেবল পরিবর্তিত ফাইলগুলি দেখায়।

git log -p DIRখুব দরকারী যদি আপনার একটি নির্দিষ্ট সাব ডিরেক্টরিতে সমস্ত পরিবর্তিত ফাইলের সম্পূর্ণ ভিন্ন প্রয়োজন হয় dif

উদাহরণ: নির্দিষ্ট সংস্করণ পরিসরে সমস্ত বিশদ পরিবর্তনগুলি দেখান

git log -p 8a5fb..HEAD -- A B

commit 62ad8c5d
Author: Scott Tiger
Date:   Mon Nov 27 14:25:29 2017 +0100

    My comment

...
@@ -216,6 +216,10 @@ public class MyClass {

+  Added
-  Deleted

1
এই উত্তরটি প্রশ্নের সাথে কীভাবে জড়িত তা আমি বুঝতে পারি না
ফ্লোরিয়ান লেটজেব
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.