2015-10-02 7 views
5

से कमिटर जानकारी निकालें मैंने एक शाखा को दोबारा हटा दिया है और अब इसके सभी कामों में कम्यूटर अनुभाग है जिसे मैं पूरी तरह से हटाना चाहता हूं (न केवल इसके फ़ील्ड को बदलना)। क्या मूल लेखक जानकारी खोने के बिना यह संभव है?गिट कमेट्स

उत्तर

4

@sergej और के लिए धन्यवाद GitHub, मैं committer जानकारी के साथ

git filter-branch --env-filter ' 
if [ "$GIT_COMMITTER_EMAIL" != "$GIT_AUTHOR_EMAIL" ]; then 
    export GIT_COMMITTER_NAME="$GIT_AUTHOR_NAME" 
    export GIT_COMMITTER_EMAIL="$GIT_AUTHOR_EMAIL" 
    export GIT_COMMITTER_DATE="$GIT_AUTHOR_DATE" 
fi 
' --tag-name-filter cat -- --branches --tags 
2

आपको अपने गिट भंडार के पूरे इतिहास को फिर से लिखना होगा।

गिटहब की एक स्क्रिप्ट है जो करता है, Changing author info देखें।

यह अपनी आवश्यकताओं के इसे अपनाने के लिए सीधे आगे होना चाहिए:

#!/bin/sh 

git filter-branch --env-filter ' 

OLD_EMAIL="[email protected]" 
CORRECT_NAME="Your Correct Name" 
CORRECT_EMAIL="[email protected]" 

if [ "$GIT_COMMITTER_EMAIL" = "$OLD_EMAIL" ] 
then 
    export GIT_COMMITTER_NAME="$CORRECT_NAME" 
    export GIT_COMMITTER_EMAIL="$CORRECT_EMAIL" 
fi 
if [ "$GIT_AUTHOR_EMAIL" = "$OLD_EMAIL" ] 
then 
    export GIT_AUTHOR_NAME="$CORRECT_NAME" 
    export GIT_AUTHOR_EMAIL="$CORRECT_EMAIL" 
fi 
' --tag-name-filter cat -- --branches --tags 
+0

धन्यवाद हटा दिया गया। क्या मैं सही ढंग से समझता हूं, कि यदि 'GIT_COMMITTER_NAME' आदि' GIT_AUTHOR_NAME' आदि से मेल खाता है, तो इसे हटाया जाएगा? – Andrei

+0

हाँ, अभी परीक्षण किया गया, ऐसा लगता है – Andrei