मैं शायद के बारे में जहां ओपी था जब यह शुरू कर दिया, कुछ सरल है कि मुझे का उपयोग करते हैं होगा की तलाश कर रहा हूँ Git difftool साथ vimdiff एक विशिष्ट प्रतिबद्ध से शुरू मेरी रेपो में फाइल करने के लिए परिवर्तनों की समीक्षा करने के लिए। मैं उन उत्तरों से बहुत खुश नहीं था जो मुझे मिल रहे थे, इसलिए मैंने इस git inc remental rep orter (gitincrep) स्क्रिप्ट को एक साथ फेंक दिया और यह मेरे लिए उपयोगी है:
#!/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 के लिए एक खाली स्ट्रिंग प्रदान करनी होगी। यदि आप एक विम उपयोगकर्ता नहीं हैं, तो आप अपने पसंदीदा डिफरेंशियल टूल से विमीडफ को बदल सकते हैं ।
व्यवहार के लिए प्रतिबद्ध टिप्पणियों का उत्पादन होता है जब प्रासंगिक परिवर्तन पाए जाते हैं और प्रत्येक परिवर्तित फ़ाइल के लिए vimdiff रन की पेशकश शुरू करते हैं (जो कि गीस्ट डिफ्यूटल व्यवहार है, लेकिन यह यहां काम करता है)।
यह दृष्टिकोण शायद बहुत भोला है, लेकिन यहां और संबंधित पोस्ट पर बहुत सारे समाधानों के माध्यम से देख रहे हैं, कई में एक सिस्टम पर नए टूल इंस्टॉल करना शामिल है, जहां मेरे पास व्यवस्थापक एक्सेस नहीं है, जिसमें इंटरफेस के साथ अपनी सीखने की अवस्था है। उपरोक्त स्क्रिप्ट ने वही किया जो मैं बिना किसी के साथ व्यवहार किए चाहता था। मैं यहाँ कई उत्कृष्ट सुझावों पर ध्यान दूंगा जब मुझे कुछ और परिष्कृत करने की आवश्यकता होती है - लेकिन मुझे लगता है कि यह सीधे ओपी के लिए उत्तरदायी है।