2012-03-20 18 views
8

गिटहब पर:जीआईटी और गितहब - मैं कैसे बता सकता हूं कि एक भंडार में किसने प्रतिबद्ध किया?

ईव कुछ लोकप्रिय परियोजना के अपने कांटा में कुछ कोड लिखता है, "Eve" <[email protected]> के रूप में काम करता है, और पुल अनुरोध अपस्ट्रीम भेजता है।

ऐलिस यह नहीं देखता है कि हव्वा के कोड में उस लोकप्रिय परियोजना के लिए एक पिछवाड़े है जो वह काम करता है, सोचता है कि कोड बहुत अच्छा है, और पुल अनुरोध विलय करता है।

बाद में, सभी का स्वामित्व हो जाता है।

बॉब, एलिस के मालिक, जो भी कोड उतरा, आग लगाना चाहेंगे। उन्होंने कहा कि एक git log --full करता है, और देखता है:

commit deadbeef 
Author: Eve <[email protected]> 
Commit: Eve <[email protected]> 

git log --fuller मदद नहीं करता है, और ईव भंडार के लिए सीधी धक्का अधिकार नहीं है।

बॉब पुल अनुरोध इतिहास के आसपास खोद सकता है, और इसे इस तरह से ढूंढ सकता है, लेकिन वह बेकार है। क्या इसे स्थानीय रूप से समझने का कोई तरीका है?

उत्तर

3

सामान्य रूप से गिट के साथ, आप गिट साइनऑफ का उपयोग कर सकते हैं (What is the Sign Off feature in Git for? देखें) और उसके बाद किसी भी धक्का को अस्वीकार करने के लिए एक अपडेट हुक जोड़ें जिसमें साइनऑफ नहीं है। हालांकि, GitHub सामान्य रूप में कस्टम हुक अनुमति देने के लिए लग रहे हैं नहीं है, लेकिन आप भविष्य की सभी धक्का घटनाओं लॉग इन करने के बाद प्राप्त हुक जोड़ सकते हैं:

http://help.github.com/post-receive-hooks/

इस एक घटना है कि पहले से ही हुआ था, तो यह ट्रैक करने के लिए कठिन (या असंभव?) हो सकता है। आप गिट रीफ्लॉग और एसएसएच लॉग देख सकते हैं, लेकिन मुझे यकीन नहीं है कि गिटहब ऐसी जानकारी प्रदान करता है या नहीं। यदि यह वास्तव में एक सुरक्षा उल्लंघन था, तो कम से कम उनसे पूछने लायक हो सकता है कि उनके पास कौन से लॉग हैं।

+0

गिट साइनऑफ के सूचक के लिए धन्यवाद, पहले कभी नहीं देखा, यह अच्छा आगे बढ़ सकता है। –

+1

चारों ओर घूमने के बाद, जहां तक ​​मैं कह सकता हूं, यह बहुत असंभव है। मुझे जो दूसरा सुझाव मिला है वह यह है कि हमें कभी भी जिथब पर स्वचालित मर्ज बटन का उपयोग नहीं करना चाहिए - इसके बजाय, स्थानीय चेकआउट करें और स्पष्ट रूप से सब कुछ करने के लिए स्मिटर्स को असाइन करने के लिए नृत्य मर्ज करें। –