আমি সম্ভবত সম্পর্কে যেখানে ওপি ছিল যখন এই শুরু, কিছু সহজ যে আমার ব্যবহার করার অনুমতি দেবে খুঁজছি Git difftool সঙ্গে vimdiff একটি নির্দিষ্ট কমিট থেকে শুরু আমার রেপো মধ্যে ফাইলগুলিতে পর্যালোচনা পরিবর্তনের। আমি যে উত্তরগুলি খুঁজে পেয়েছি তাতে আমি খুব খুশি ছিলাম না, তাই আমি এই গিট ইনক রিমেন্টাল রেপ অর্টার (গিটিক্রেপ) স্ক্রিপ্টটি একসাথে ফেলে দিয়েছিলাম এবং এটি আমার পক্ষে দরকারী:
#!/usr/bin/env bash
STARTWITH="${1:-}"
shift 1
DFILES=( "$@" )
RunDiff()
{
GIT1=$1
GIT2=$2
shift 2
if [ "$(git diff $GIT1 $GIT2 "$@")" ]
then
git log ${GIT1}..${GIT2}
git difftool --tool=vimdiff $GIT1 $GIT2 "$@"
fi
}
OLDVERS=""
RUNDIFF=""
for NEWVERS in $(git log --format=format:%h --reverse)
do
if [ "$RUNDIFF" ]
then
RunDiff $OLDVERS $NEWVERS "${DFILES[@]}"
elif [ "$OLDVERS" ]
then
if [ "$NEWVERS" = "${STARTWITH:=${NEWVERS}}" ]
then
RUNDIFF=true
RunDiff $OLDVERS $NEWVERS "${DFILES[@]}"
fi
fi
OLDVERS=$NEWVERS
done
কোনও তর্ক ছাড়াই কল করা, এটি রেপো ইতিহাসের শুরু থেকে শুরু হবে, অন্যথায় এটি সংক্ষিপ্ত প্রতিশ্রুতিবদ্ধ হ্যাশ দিয়ে শুরু করা হবে যা আপনি সরবরাহ করেন এবং বর্তমানটিতে এগিয়ে যান - আপনি যে কোনও সময় প্রস্থান করার জন্য সিটিআরএল-সি করতে পারেন। প্রথমটির পরে যে কোনও আর্গুমেন্ট পার্থক্য সংক্রান্ত প্রতিবেদনগুলিকে কেবল সেই আর্গগুলির মধ্যে তালিকাভুক্ত ফাইলগুলি অন্তর্ভুক্ত করতে সীমাবদ্ধ করবে (যা আমি মনে করি ওপি যা চেয়েছিল, এবং আমি ক্ষুদ্র প্রকল্পগুলির ব্যতীত অন্য সকলের জন্য সুপারিশ করব)। আপনি নির্দিষ্ট ফাইলগুলিতে পরিবর্তন চেক করেন তাহলে এবং প্রথম থেকে শুরু করতে চাই, আপনারা ARG1 জন্য একটি খালি স্ট্রিং প্রদান করতে হবে। আপনি যদি কোনও ভিএম ব্যবহারকারী না হন তবে আপনি আপনার পছন্দসই ডিফ সরঞ্জামটির সাথে ভিমডিফ প্রতিস্থাপন করতে পারেন ।
আচরণটি হ'ল প্রাসঙ্গিক মন্তব্যগুলি আউটপুট করা যখন প্রাসঙ্গিক পরিবর্তনগুলি পাওয়া যায় এবং প্রতিটি পরিবর্তিত ফাইলের জন্য ভিমডিফ রান চালানো শুরু করে (এটি গিট ডিফ্টল আচরণ, তবে এটি এখানে কাজ করে)।
এই পদ্ধতির সম্ভবত বেশ নিখুঁত, কিন্তু এখানে এবং সম্পর্কিত পোস্টে অনেকগুলি সমাধানের সন্ধান করা, অনেকে এমন একটি সিস্টেমে নতুন সরঞ্জাম ইনস্টল করতে জড়িত যেখানে আমার অ্যাডমিন অ্যাক্সেস নেই, ইন্টারফেসগুলির সাথে তাদের নিজস্ব শিক্ষার বক্ররেখা ছিল। উপরের স্ক্রিপ্টটি এর সাথে কোনওরকম আচরণ না করে আমি যা চাইছিলাম তা করেছিল। যখন আমার আরও পরিশীলিত কিছু দরকার তখন আমি এখানে অনেকগুলি দুর্দান্ত পরামর্শ সন্ধান করব - তবে আমি মনে করি এটি সরাসরি ওপি'র কাছে প্রতিক্রিয়াশীল।