Github'da belirli satır numarasına bağlantı


371

Github deposundaki bir dosyadaki belirli bir satır numarasına bağlantı verebileceğimi biliyorum (bunu daha önce gördüğümden eminim) ...

birisi bunun nasıl yapıldığını söyleyebilir mi?

Yanıtlar:


587

Sadece satır numaralarına bağlantı vermeyin! Standart URL'yi de kullandığınızdan emin olun . Aksi takdirde, dosya güncellendiğinde, yanlış satırları gösteren bir URL'niz olur!

Doğru hatlara kalıcı bağlantı nasıl yapılır:

İstediğiniz satır numarasını tıklayın (satır 18 gibi) ve tarayıcınızdaki URL #L18sonuna sabitlenir. 18Kod satırını değil, sol taraftaki kelimeyi tam anlamıyla tıklatırsınız . Buna benzer:

satır 18 seçildi

Ve şimdi tarayıcınızın URL'si şu şekilde görünüyor:

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

Birden çok satır seçilmesini istiyorsanız, üst karakter tuşunu basılı tutun ve 20. satır gibi ikinci bir satır numarasını tıklayın.

resim açıklamasını buraya girin

Ve şimdi tarayıcınızın URL'si şu şekilde görünüyor:

https://github.com/git/git/blob/master/README#L18-L20

İşte önemli kısmı:

Şimdi tuşuna basarak söz konusu işlemin kurallı URL'sini alın y. Tarayıcınızdaki URL şu şekilde değişecektir:

https://github.com/git/git/blob/5bdb7a78adf2a2656a1915e6fa656aecb45c1fc3/README#L18-L20

Bu bağlantı, dosyanın geçerli sürümü yerine söz konusu kesinleştirme için gerçek SHA karmasını içerir master. Bu, bu bağlantının sonsuza kadar çalışacağı ve bu dosyanın gelecekteki sürümünün 18-20 satırını göstermeyeceği anlamına gelir.

Şimdi yeni kalıcı bağlantınızın ışıltısında güneşlenin. ;-)

update 9/29/2017: @watashiSHUN tarafından belirtildiği gibi, github, ...bir veya daha fazla satır seçtikten sonra solda bir menü sağlayarak kalıcı bağlantı almayı kolaylaştırdı . Lütfen @ watashiSHUN'un cevabını da yükseltin .

GitHub kalıcı bağlantı menüsü

25.03.2016 güncellemesi: Durumda - yukarıdaki örnekte, URL'deki "README" dosyasına başvurdum . Kanonik olmayan URL'ler aslında bu cevap yazıldığında işe yaradı. Ama şimdi bu url'ler READMEtaşındığı günden beri artık çalışmıyor README.md. Ancak SHA özetlemesine sahip standart URL, beklendiği gibi çalışmaya devam eder.


3
Y tuşu benim için hiçbir şey yapmaz. Bu değişti mi? Google Chrome Geliştirme Kanalı'ndan deneniyor.
k0pernikus

4
Hala çalışıyor ... Dokümanlar hala yanahtarı da kullandıklarını söylüyor ... help.github.com/articles/getting-permanent-links-to-files
broc.seib

2
bir blok için ikinci satırı shift + tıklama iyi bir bloktur! İkinci satırı eklemek için URL'yi manuel olarak düzenliyordum :). Yine de soruyu takip et, 2, 4 ve 17-22 satırlarını vurgulamak istersem ne olur? Bu mümkün mü veya aynı anda yalnızca bir bloğu vurgulayabilir miyim?
eğilim

3
@ tr3buchet Sadece github desteğine ping attım - şu anda mümkün değil. Özelliği dikkate alacaklarını, ancak söz vermediklerini söylediler. Biçimin L18-L20,L29böyle bir şey olmasını ve bir kişinin CTRLardışık olmayan satırlar eklemek için tıklayabileceğini önerdim. Fikrinin harika bir öneri olduğunu ve çok yararlı olacağını düşünüyorum.
broc.seib

2
Ya READMEolduğunu README.md?
zwcloud

56

@ broc.seib'in karmaşık bir cevabı var , sadece ykalıcı bağlantıyı almak için basmak yerine , github'un bunu başarmanıza yardımcı olan çok basit bir kullanıcı arayüzü olduğunu belirtmek istiyorum.

  1. Satır numarasını tıklayarak satırı seçin veya destekleyerek birden fazla satır seçin shift(dosya gezgininde birden çok klasörü nasıl seçtiğinizle aynı) resim açıklamasını buraya girin

  2. seçtiğiniz ilk satırın sağ köşesinde genişletin ...ve tıklayıncopy permalink resim açıklamasını buraya girin

  3. işte bu, seçilen satırları ve işleme karmasını içeren bir bağlantı panonuza kopyalanır : https://github.com/python/cpython/blob/c82b7f332aff606af6c9c163da75f1e86514125e/Doc/Makefile#L1-L4

18

Satır numarasını tıklayın ve bağlantıyı adres çubuğundan kopyalayıp yapıştırın. Bir aralık seçmek için sayıyı tıklatın ve sonra sonraki sayıyı kaydırın.

Alternatif olarak, bağlantılar göreceli olarak basit bir biçimdir, #L<number>dosyaya olan bağlantıyı kullanarak söz konusu satır numarasının sonuna ekleyin . İşte üçüncü satırı için bir bağlantı gitdepo yılların README:

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

Vurgulanan satırı ve değiştirilmiş adres satırını içeren ekran görüntüsü


3
Dosya değişirse, bu URL'nin hala yeni kod içerebilecek ve istediğiniz gibi olmayabilecek 3. satırı göstereceğini unutmayın! Kalıcı bir bağlantı sağlayan başka bir çözüm önerdim. İpucu: düğmesine basın y. ;-)
broc.seib

4
Bağlantı koptu
pmrotule

12

kod snippet'ine kalıcı bağlantı, bir çekme isteği yorum alanına yapıştırılır

Sorunlara, PR'lere vb. Kod parçacıkları eklemek için kalıcı bağlantıları kullanabilirsiniz.

Referanslar:

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


2
Güzel gif!
Giovanni Benussi

Konu dışı için özür dilerim, ama bunu yapmak için hangi aracı kullanıyorsunuz?
Giovanni Benussi

@GiovanniBenussi GitHub'dan. Bağlantıya bakın.
Gayan Weerakutti

Gif demek istiyorum :-P hahaha
Giovanni Benussi

1
@GiovanniBenussi Ne reversiblean kullanılan bilmiyorum ama bazen "screentogif" adlı güzel bir araç kullanarak böyle gif yapmak, bunu denemek gerekir github.com/NickeManarin/ScreenToGif
SamGamgee

6

Birçok düzenleyici (ayrıca aşağıdaki Komutlar bölümüne bakın) GitHub veya BitBucket (veya diğerleri) üzerindeki bir dosyanın satır numarasına veya aralığına bağlanmayı destekler. İşte kısa bir liste:

atom

GitHub'da aç

Emacs

Git-bağlantı

Yüce metin

GitLink

gayret

gitlink-vim


Komutları

  • git-link - Git nesnesine bir repo tarayıcı bağlantısı almak için Git alt komutu
  • ghwd - Kabuğunuzun geçerli dalı ve çalışma diziniyle eşleşen github URL'sini açın

0

README.mdGitHub deposunun belirli bir satır numarası koduna nasıl bağlanacağı ile ilgili

Üç vakanız var:

  1. Biz yapabilirsiniz bağlantısı olan (özel taahhüt )

    Ancak Bağlantı, DAİMA örneğin ana dalda yeni güncelleştirmeler İÇERMEZ olan eski dosya sürümüne bağlanır. Misal:

    https://github.com/username/projectname/blob/b8d94367354011a0470f1b73c8f135f095e28dd4/file.txt#L10
    
  2. Biz yapabilirsiniz bağlantısı olan (özel dal (master-şube) gibi). Ancak bağlantı HER ZAMAN yeni güncellemeler içerecek en son dosya sürümüne bağlanır. Yeni güncellemeler nedeniyle, bağlantı geçersiz bir iş hattı numarasına işaret edebilir. Misal:

    https://github.com/username/projectname/blob/master/file.txt#L10
    
  3. GitHub, aşağıdaki iş sorunları nedeniyle herhangi bir dosyaya (özel taahhüt) veya (ana şube) OTOMATİK BAĞLANTI YAPAMAZ:

    • satır iş anlamı, yeni dosyaya bağlamak için
    • değiştirilebilen hedeflenen kodun uzunluğu

0

Çekme talebindeki bir çizgi için.

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

Bu sizi L ve R doğru olduğu sürece bir çizgiye götürür. L VEYA RIe'i ziyaret etmenin bir yolu olup olmadığından emin değilim . PR kullanmanız gereken bir satır eklerse R. Bir satırı kaldırırsa kullanmanız gerekir L.

Kimden: Github Çekme İsteği'ne satır işaretçisi URL'si oluşturma

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.