जवाबों:
लाइन नंबर से लिंक न करें! कैनोनिकल URL का भी उपयोग करना सुनिश्चित करें । अन्यथा जब वह फ़ाइल अपडेट की जाती है, तो आपके पास एक URL होगा जो गलत लाइनों की ओर इशारा करता है!
कैसे सही लाइनों के लिए एक स्थायी लिंक बनाने के लिए:
इच्छित लाइन नंबर पर क्लिक करें (जैसे लाइन 18), और आपके ब्राउज़र के URL #L18
को अंत में एक कील मिलेगी । आप सचमुच 18
बाईं ओर क्लिक करते हैं , कोड की पंक्ति नहीं। इस तरह दिखता है:
और अब आपके ब्राउज़र का URL इस तरह दिखता है:
https://github.com/git/git/blob/master/README#L18
यदि आप कई लाइनों का चयन करना चाहते हैं, तो बस शिफ्ट कुंजी दबाए रखें और दूसरी लाइन नंबर पर क्लिक करें, जैसे लाइन 20। इस तरह दिखता है:
और अब आपके ब्राउज़र का URL इस तरह दिखता है:
https://github.com/git/git/blob/master/README#L18-L20
यहाँ महत्वपूर्ण हिस्सा है:
अब y
कुंजी को दबाकर उस विशेष प्रतिबद्ध के लिए विहित यूआरएल प्राप्त करें । आपके ब्राउज़र का URL कुछ इस तरह से बदल जाएगा:
https://github.com/git/git/blob/5bdb7a78adf2a2656a1915e6fa656aecb45c1fc3/README#L18-L20
उस लिंक में फ़ाइल के वर्तमान संस्करण के बजाय उस विशेष प्रतिबद्ध के लिए वास्तविक SHA हैश शामिल है master
। इसका मतलब है कि यह लिंक हमेशा के लिए काम करेगा और भविष्य में उस फ़ाइल के जो भी संस्करण हो सकते हैं, 18-20 पंक्तियों की ओर इशारा करेगा।
अब अपने नए स्थायी लिंक की चमक में बास्क। ;-)
अद्यतन 9/29/2017: जैसा कि @watashiSHUN द्वारा बताया गया है, जीथब ने अब ...
एक या अधिक लाइनों का चयन करने के बाद बाईं ओर एक मेनू प्रदान करके स्थायी लिंक प्राप्त करना आसान बना दिया है। कृप्या @ वॉटरशुन का जवाब भी दें।
3/25/2016 अपडेट करें: केस इन पॉइंट - ऊपर दिए गए उदाहरण में, मैंने URL में "README" फाइल को संदर्भित किया। उन गैर-विहित यूरेल ने वास्तव में काम किया जब यह उत्तर लिखा गया था। लेकिन अब उन उरोजों का कोई काम नहीं रह README
गया है, जिन्हें स्थानांतरित कर दिया गया था README.md
। लेकिन SHA हैश वाला कैनोनिकल URL अभी भी उम्मीद के मुताबिक काम करता है।
y
कुंजी का उपयोग करने के लिए कहते हैं ... help.github.com/articles/getting-permanent-links-to-files
L18-L20,L29
, और वह व्यक्ति CTRL
गैर-निरंतर रेखाओं को जोड़ने के लिए क्लिक कर सके । मुझे लगता है कि आपका विचार एक महान सुझाव है और बहुत उपयोगी होगा।
README
है README.md
?
@ Broc.seib के पास एक परिष्कृत उत्तर है , मैं केवल यह बताना चाहता हूं कि स्थायी लिंक प्राप्त करने के लिए दबाव डालने के बजाय , जीथब के पास अब एक बहुत ही सरल यूआई है जो इसे प्राप्त करने में आपकी सहायता करता है।y
लाइन नंबर पर क्लिक करके लाइन का चयन करें या डाउनहोल्ड करके कई लाइनों का चयन करें shift
(जैसे कि आप फ़ाइल एक्सप्लोरर में कई फ़ोल्डर्स कैसे चुनते हैं)
आपके द्वारा चुनी गई पहली पंक्ति के दाहिने हाथ के कोने पर, विस्तृत करें ...
और क्लिक करेंcopy permalink
https://github.com/python/cpython/blob/c82b7f332aff606af6c9c163da75f1e86514125e/Doc/Makefile#L1-L4
लाइन नंबर पर क्लिक करें और फिर एड्रेस बार से लिंक को कॉपी और पेस्ट करें। किसी श्रेणी का चयन करने के लिए, संख्या पर क्लिक करें और फिर बाद के नंबर पर क्लिक करें।
वैकल्पिक रूप से, लिंक एक अपेक्षाकृत सरल प्रारूप हैं, बस #L<number>
उस विशिष्ट पंक्ति संख्या के लिए अंत तक संलग्न हैं , फ़ाइल के लिंक का उपयोग करके। यहाँ git
रिपॉजिटरी की तीसरी पंक्ति का लिंक दिया गया है README
:
y
। ;-)
आप मुद्दों, पीआर आदि में कोड स्निपेट शामिल करने के लिए पर्मलिंक का उपयोग कर सकते हैं।
संदर्भ:
https://help.github.com/en/articles/creating-a-permanent-link-to-a-code-snippet
कई संपादकों (लेकिन नीचे दिए गए कमांड्स सेक्शन को भी देखें ) एक फाइल की लाइन नंबर या रेंज को GitHub या BitBucket (या अन्य) पर लिंक करने का समर्थन करते हैं। यहाँ एक छोटी सूची है:
README.md
GitHub रिपॉजिटरी को एक विशिष्ट लाइन नंबर कोड से लिंक करने के तरीके से संबंधित है
आपके पास तीन मामले हैं:
हम (कस्टम कमिट ) से लिंक कर सकते हैं
लेकिन लिंक पुराने फ़ाइल संस्करण के लिए हमेशा लिंक होगा, जिसमें उदाहरण के लिए मास्टर शाखा में नए अपडेट नहीं होंगे। उदाहरण:
https://github.com/username/projectname/blob/b8d94367354011a0470f1b73c8f135f095e28dd4/file.txt#L10
हम (कस्टम- ब्रांच ) जैसे (मास्टर-ब्रांच) से लिंक कर सकते हैं । लेकिन लिंक नवीनतम फ़ाइल संस्करण के लिए हमेशा लिंक रहेगा जिसमें नए अपडेट होंगे। नए अद्यतनों के कारण, लिंक एक अमान्य व्यावसायिक लाइन नंबर को इंगित कर सकता है। उदाहरण:
https://github.com/username/projectname/blob/master/file.txt#L10
निम्नलिखित व्यावसायिक मुद्दों के कारण GitHub किसी भी फाइल को ऑटो-लिंक नहीं कर सकता (कस्टम कमिट) और न ही (मास्टर-ब्रांच):
एक पुल अनुरोध में एक लाइन के लिए।
https://github.com/foo/bar/pull/90/files#diff-ce6bf647d5a531e54ef0502c7fe799deR27
https://github.com/foo/bar/pull/
90 <- PR number
/files#diff-
ce6bf647d5a531e54ef0502c7fe799de <- MD5 has of file name from repo root
R <- Which side of the diff to reference (merge-base or head). Can be L or R.
27 <- Line number
यह आपको तब तक एक पंक्ति में ले जाएगा जब तक L और R सही होते हैं। मुझे यकीन नहीं है कि अगर एल या आरआईआई का दौरा करने का कोई तरीका है यदि पीआर एक पंक्ति जोड़ता है तो आपको इसका उपयोग करना चाहिए R
। यदि यह एक पंक्ति निकालता है तो आपको इसका उपयोग करना चाहिए L
।