जीथब पर विशिष्ट लाइन नंबर से लिंक कैसे करें


371

मुझे पता है कि मैं एक github रेपो पर एक फ़ाइल पर एक विशिष्ट लाइन नंबर से लिंक कर सकता हूं (मुझे यकीन है कि मैंने इसे पहले देखा है) ...

क्या कोई मुझे बता सकता है कि इसे कैसे करें?

जवाबों:


587

लाइन नंबर से लिंक न करें! कैनोनिकल URL का भी उपयोग करना सुनिश्चित करें । अन्यथा जब वह फ़ाइल अपडेट की जाती है, तो आपके पास एक URL होगा जो गलत लाइनों की ओर इशारा करता है!

कैसे सही लाइनों के लिए एक स्थायी लिंक बनाने के लिए:

इच्छित लाइन नंबर पर क्लिक करें (जैसे लाइन 18), और आपके ब्राउज़र के URL #L18को अंत में एक कील मिलेगी । आप सचमुच 18बाईं ओर क्लिक करते हैं , कोड की पंक्ति नहीं। इस तरह दिखता है:

पंक्ति 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 द्वारा बताया गया है, जीथब ने अब ...एक या अधिक लाइनों का चयन करने के बाद बाईं ओर एक मेनू प्रदान करके स्थायी लिंक प्राप्त करना आसान बना दिया है। कृप्या @ वॉटरशुन का जवाब भी दें।

GitHub permalink मेनू

3/25/2016 अपडेट करें: केस इन पॉइंट - ऊपर दिए गए उदाहरण में, मैंने URL में "README" फाइल को संदर्भित किया। उन गैर-विहित यूरेल ने वास्तव में काम किया जब यह उत्तर लिखा गया था। लेकिन अब उन उरोजों का कोई काम नहीं रह READMEगया है, जिन्हें स्थानांतरित कर दिया गया था README.md। लेकिन SHA हैश वाला कैनोनिकल URL अभी भी उम्मीद के मुताबिक काम करता है।


3
Y कुंजी मेरे लिए कुछ नहीं करती है। क्या इसे बदल दिया गया है? Google Chrome देव चैनल से कोशिश कर रहा है।
k0pernikus

4
यह अभी भी काम करता है ... डॉक्स अभी भी yकुंजी का उपयोग करने के लिए कहते हैं ... help.github.com/articles/getting-permanent-links-to-files
broc.seib

2
कि शिफ्ट + एक ब्लॉक के लिए दूसरी लाइन पर क्लिक करें एक अच्छा है! मैं दूसरी पंक्ति को जोड़ने के लिए मैन्युअल रूप से URL को संपादित कर रहा था :)। हालांकि सवाल का पालन करें, क्या होगा अगर मैं लाइनों 2, 4, और 17-22 से हाइलाइट किया गया था? क्या यह संभव है या मैं एक समय में केवल एक ब्लॉक को उजागर कर सकता हूं?
पेन्सेंट

3
@ tr3buchet मैंने सिर्फ गिथब का समर्थन किया - फिलहाल यह संभव नहीं है। उन्होंने कहा कि वे इस सुविधा पर विचार करेंगे, लेकिन कोई वादा नहीं करेंगे। मैंने प्रस्ताव दिया कि प्रारूप कुछ ऐसा हो L18-L20,L29, और वह व्यक्ति CTRLगैर-निरंतर रेखाओं को जोड़ने के लिए क्लिक कर सके । मुझे लगता है कि आपका विचार एक महान सुझाव है और बहुत उपयोगी होगा।
ब्रूसीसेब

2
क्या होगा अगर READMEहै README.md?
zwcloud

56

@ Broc.seib के पास एक परिष्कृत उत्तर है , मैं केवल यह बताना चाहता हूं कि स्थायी लिंक प्राप्त करने के लिए दबाव डालने के बजाय , जीथब के पास अब एक बहुत ही सरल यूआई है जो इसे प्राप्त करने में आपकी सहायता करता है।y

  1. लाइन नंबर पर क्लिक करके लाइन का चयन करें या डाउनहोल्ड करके कई लाइनों का चयन करें shift(जैसे कि आप फ़ाइल एक्सप्लोरर में कई फ़ोल्डर्स कैसे चुनते हैं) यहां छवि विवरण दर्ज करें

  2. आपके द्वारा चुनी गई पहली पंक्ति के दाहिने हाथ के कोने पर, विस्तृत करें ...और क्लिक करेंcopy permalink यहां छवि विवरण दर्ज करें

  3. यह ऐसा है, चयनित पंक्तियों और कमिट हैश के साथ एक लिंक आपके क्लिपबोर्ड पर कॉपी किया गया है : https://github.com/python/cpython/blob/c82b7f332aff606af6c9c163da75f1e86514125e/Doc/Makefile#L1-L4

18

लाइन नंबर पर क्लिक करें और फिर एड्रेस बार से लिंक को कॉपी और पेस्ट करें। किसी श्रेणी का चयन करने के लिए, संख्या पर क्लिक करें और फिर बाद के नंबर पर क्लिक करें।

वैकल्पिक रूप से, लिंक एक अपेक्षाकृत सरल प्रारूप हैं, बस #L<number>उस विशिष्ट पंक्ति संख्या के लिए अंत तक संलग्न हैं , फ़ाइल के लिंक का उपयोग करके। यहाँ gitरिपॉजिटरी की तीसरी पंक्ति का लिंक दिया गया है README:

https://github.com/git/git/blob/master/README#L3

हाइलाइट की गई लाइन और संशोधित एड्रेस लाइन के साथ स्क्रीनशॉट


3
यह मत भूलो कि यदि फ़ाइल बदल जाती है, तो यह URL अभी भी पंक्ति 3 को इंगित करेगा, जिसमें नया कोड हो सकता है, और वह नहीं हो सकता है जो आप चाहते थे! मैंने एक और समाधान पेश किया है जो एक स्थायी लिंक देता है। संकेत: बस दबाएँ y। ;-)
ब्रूसेसेब

4
लिंक टूटा हुआ है
pmrotule

12

एक कोड स्निपेट के लिए एक पर्मलिंक एक पुल अनुरोध टिप्पणी क्षेत्र में चिपकाया जाता है

आप मुद्दों, पीआर आदि में कोड स्निपेट शामिल करने के लिए पर्मलिंक का उपयोग कर सकते हैं।

संदर्भ:

https://help.github.com/en/articles/creating-a-permanent-link-to-a-code-snippet


2
बहुत अच्छा gif!
जियोवानी बेनुसी

ऑफ-टॉपिक के लिए क्षमा करें, लेकिन इसे बनाने के लिए आप किस टूल का उपयोग करते हैं?
जियोवानी बेनुसी

@GiovanniBenussi यह GitHub से है। लिंक देखें।
गायन वीरकुट्टी

मेरा मतलब है जिफ़ के लिए :-P हाहाहा
जियोवानी बेनुसी

1
@GOVanniBenussi मुझे नहीं पता है कि रिवर्सीबिलियन ने क्या उपयोग किया है, लेकिन कभी-कभी मैं "स्क्रेंटोगिफ" नामक एक अच्छे उपकरण का उपयोग करके इस तरह से जिफ़ बनाता हूं, आपको इसे github.com/NickeManarin/ScToGif
SamGamgee

6

कई संपादकों (लेकिन नीचे दिए गए कमांड्स सेक्शन को भी देखें ) एक फाइल की लाइन नंबर या रेंज को GitHub या BitBucket (या अन्य) पर लिंक करने का समर्थन करते हैं। यहाँ एक छोटी सूची है:

परमाणु

GitHub पर खोलें

Emacs

Git-लिंक

उदात्त पाठ

GitLink

शक्ति

gitlink-vim


आदेश

  • git-link - git उपकमांड को git ऑब्जेक्ट के लिए रेपो-ब्राउज़र लिंक प्राप्त करने के लिए
  • ghwd - github URL खोलें जो आपके शेल की वर्तमान शाखा और कार्यशील निर्देशिका से मेल खाता है

0

README.mdGitHub रिपॉजिटरी को एक विशिष्ट लाइन नंबर कोड से लिंक करने के तरीके से संबंधित है

आपके पास तीन मामले हैं:

  1. हम (कस्टम कमिट ) से लिंक कर सकते हैं

    लेकिन लिंक पुराने फ़ाइल संस्करण के लिए हमेशा लिंक होगा, जिसमें उदाहरण के लिए मास्टर शाखा में नए अपडेट नहीं होंगे। उदाहरण:

    https://github.com/username/projectname/blob/b8d94367354011a0470f1b73c8f135f095e28dd4/file.txt#L10
    
  2. हम (कस्टम- ब्रांच ) जैसे (मास्टर-ब्रांच) से लिंक कर सकते हैं । लेकिन लिंक नवीनतम फ़ाइल संस्करण के लिए हमेशा लिंक रहेगा जिसमें नए अपडेट होंगे। नए अद्यतनों के कारण, लिंक एक अमान्य व्यावसायिक लाइन नंबर को इंगित कर सकता है। उदाहरण:

    https://github.com/username/projectname/blob/master/file.txt#L10
    
  3. निम्नलिखित व्यावसायिक मुद्दों के कारण GitHub किसी भी फाइल को ऑटो-लिंक नहीं कर सकता (कस्टम कमिट) और न ही (मास्टर-ब्रांच):

    • लाइन व्यापार अर्थ, नई फ़ाइल में इसे लिंक करने के लिए
    • लक्षित हाइलाइट कोड की लंबाई जिसे बदला जा सकता है

0

एक पुल अनुरोध में एक लाइन के लिए।

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

से: Github Pull रिक्वेस्ट में लाइन पॉइंटर URL जेनरेट करें

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.