Yerel Git deposunun ba┼člang─▒├žta klonland─▒─č─▒ URLÔÇÖyi nas─▒l belirleyebilirim?


Al─▒nan cevaba git


Birka├ž g├╝n ├Ânce GitHub'dan bir proje ├ž─▒kard─▒m. O zamandan beri GitHub'da birka├ž ├žatal oldu─čunu ke┼čfettim ve hangisini ilk ald─▒─č─▒m─▒ not etmeyi ihmal ettim. Bu ├žatallardan hangisini ├žekti─čimi nas─▒l belirleyebilirim?


3689





2010-11-03




Cevap say─▒s─▒n─▒ say: 21






Yaln─▒zca uzak URLÔÇÖyi istiyorsan─▒z veya uzak repoÔÇÖya eri┼čebilecek bir a─ča ba─čl─▒ de─čilseniz:

 git config --get remote.origin.url
 

E─čer tam ├ž─▒k─▒┼č─▒ gerektiren ve varsa vard─▒r k├Âkeni bulundu─ču yere uzak repo ula┼čabilece─či bir a─č ├╝zerinde:

 git remote show origin
 

Kullan─▒rken git clone (GitHub'dan veya bu konuda herhangi bir kaynak havuzundan), klon kayna─č─▒n─▒n varsay─▒lan ad─▒ "kaynak" t─▒r. Kullanmak git remote show , bu uzak isimle ilgili bilgileri g├Âr├╝nt├╝ler. ─░lk birka├ž sat─▒r g├Âstermelidir:

 C:\Users\jaredpar\VsVim> git remote show origin
* remote origin
  Fetch URL: [email protected]:jaredpar/VsVim.git
  Push  URL: [email protected]:jaredpar/VsVim.git
  HEAD branch: master
  Remote branches:
 

Komut dosyas─▒nda de─čeri kullanmak istiyorsan─▒z, bu cevapta listelenen ilk komutu kullan─▒rs─▒n─▒z.


5227







Bunu komut dosyas─▒ amac─▒yla kullanmak isterseniz, yaln─▒zca URLÔÇÖyi

 git config --get remote.origin.url
 

597







Deneyebilirsin:

 git remote -v
 

T├╝m uzaktan kumandalar─▒n─▒z─▒n 'URL'leri al / g├Ânder'i basacakt─▒r.


516







Cevap almak i├žin:

 git ls-remote --get-url [REMOTE]
 

Bu, yap─▒land─▒rmay─▒ okumaktan daha iyidir; i├žin man sayfas─▒na bak─▒n git-ls-remote :

--get-url

Herhangi bir "url.<base>.insteadOf" config ayar─▒n─▒ dikkate alarak verilen uzak havuzun URL'sini geni┼čletin (Bkz git-config(1) ) ve uzaktan kumanda ile konu┼čmadan ├ž─▒k─▒n.

@Jefromi taraf─▒ndan belirtildi─či gibi, bu se├ženek v1.7.5'te eklenmi┼č ve v1.7.12.2 (2012-09) tarihine kadar belgelenmemi┼čtir .


243







Git 2.7 ile (5 Ocak 2015 tarihli s├╝r├╝m), a┼ča─č─▒dakileri kullanarak daha tutarl─▒ bir ├ž├Âz├╝m├╝n├╝z var git remote :

 git remote get-url origin
 

(g├╝zel kolye git remote set-url origin <newurl> )

Bkz. 96f78d3 (16 Eyl├╝l 2015), Ben Boeckel ( mathstuf ) taraf─▒ndan kabul edildi .
(G├Âre Birle┼čtirilmi┼č - Junio C─▒ Hamano gitster - i├žinde e437cbd tamamlama 2015 Ekim 5) :

uzaktan: get-url alt komutunu ekleyin

Geni┼čletmek insteadOf bir par├žas─▒d─▒r ls-remote --url ve geni┼čletmenin de bir yolu yoktur pushInsteadOf . T├╝m yap─▒land─▒r─▒lm─▒┼č URL'leri alman─▒n bir yolunu oldu─ču kadar hem de sorgulayabilmek i├žin
bir get-url alt komut ekleyin.

 get-url:
 

Uzaktaki URL'leri al─▒r.
Burada yap─▒land─▒rmalar insteadOf ve pushInsteadOf geni┼čletmeler yap─▒lm─▒┼čt─▒r.
Varsay─▒lan olarak, yaln─▒zca ilk URL listelenir.

  • ' --push ' ─░le , URL'leri almak yerine push URL'leri sorgulan─▒r.
  • ' --all ' ─░le uzaktan kumandan─▒n t├╝m URL'leri listelenir.

Git 2.7'den ├Ânce, ┼čunlara sahiptiniz:

  git config --get remote.[REMOTE].url
 git ls-remote --get-url [REMOTE]
 git remote show [REMOTE]
 

100


2015-10-07





├ľzetlemek gerekirse, en az d├Ârt yol vard─▒r:

(A┼ča─č─▒daki resmi Linux deposu i├žin denendi)

En az bilgi:

 $ git config --get remote.origin.url
https://github.com/torvalds/linux.git
 

ve

 $ git ls-remote --get-url
https://github.com/torvalds/linux.git
 

Daha fazla bilgi:

 $ git remote -v
origin    https://github.com/torvalds/linux.git (fetch)
origin    https://github.com/torvalds/linux.git (push)
 

Daha da fazla bilgi:

 $ git remote show origin
* remote origin
  Fetch URL: https://github.com/torvalds/linux.git
  Push  URL: https://github.com/torvalds/linux.git
  HEAD branch: master
  Remote branch:
    master tracked
  Local branch configured for 'git pull':
    master merges with remote master
  Local ref configured for 'git push':
    master pushes to master (up to date)
 

54







Bence onu alt─▒nda bulabilirsin .git/config ve remote["origin"] manip├╝le etmediysen.


21







K─▒sa cevap:

 $ git remote show -n origin
 

veya saf h─▒zl─▒ komut dosyalar─▒ i├žin bir alternatif:

 $ git config --get remote.origin.url
 

Baz─▒ bilgiler:

  1. $ git remote -v T├╝m uzaktan kumandalar─▒ (istedi─činiz ┼čeyi de─čil) yazd─▒racakt─▒r. K├Âkeni istiyorsun de─čil mi?
  2. $ git remote show origin ├žok daha iyi, sadece g├Âsterir origin ama ├žok uzun s├╝r├╝yor (git 1.8.1.msysgit.1 s├╝r├╝m├╝nde test edildi).

En $ git remote show -n origin h─▒zl─▒ gibi g├Âr├╝n├╝yordu:. Bununla beraber -n uzak kafalar─▒ (AKA dallar─▒) almayacak. Bu t├╝r bilgilere ihtiyac─▒n yok, de─čil mi?

http://www.kernel.org/pub//software/scm/git/docs/git-remote.html

| grep -i fetch Yaln─▒zca al─▒m URL'sini g├Âstermek i├žin ├╝├ž s├╝r├╝me de uygulayabilirsiniz .

Saf h─▒za ihtiyac─▒n─▒z varsa, kullan─▒n:

 $ git config --get remote.origin.url
 

@Jefromi'ye bunu g├Âsterdi─či i├žin te┼čekk├╝r ederiz .


20







Benim i├žin bu kolay yoldur (daha az yazarak):

 $ git remote -v
origin    https://github.com/torvalds/linux.git (fetch)
origin    https://github.com/torvalds/linux.git (push)
 

Asl─▒nda, bunu yapan bir alias isme girdim s :

 git remote -v
git status
 

Profilinize ┼čununla ekleyebilirsiniz: alias s='git remote -v && git status'


15







Git URL'si Git yap─▒land─▒rma dosyas─▒n─▒n i├žinde olacakt─▒r. De─čer, tu┼ča kar┼č─▒l─▒k gelir url .

Mac ve Linux i├žin a┼ča─č─▒daki komutlar─▒ kullan─▒n:

  cd project_dir
 cat .git/config | grep url | awk '{print $3}'
 

Windows i├žin a┼ča─č─▒daki dosyay─▒ herhangi bir metin d├╝zenleyicide a├ž─▒n ve anahtar─▒n de─čerini bulun url .

 project_dir/.git/config
 

Not: Bu, ├ževrimd─▒┼č─▒ysan─▒z veya uzak git sunucusu al─▒nm─▒┼č olsa bile ├žal─▒┼čacakt─▒r.


12







Git parametrelerine t├╝m parametreleri asla hat─▒rlayam─▒yorum, bu y├╝zden sadece ~/.gitconfig bana daha anlaml─▒ olan bir di─čer ad koydum , bu y├╝zden hat─▒rlayabiliyorum ve daha az yazmaya neden oluyor:

 [alias]
url = ls-remote --get-url
 

Terminali yeniden y├╝kledikten sonra, sadece ┼čunu yazabilirsiniz:

 > git url
 

S─▒k kulland─▒klar─▒mdan birka├ž─▒:

 [alias]
cd = checkout
ls = branch
lsr = branch --remote
lst = describe --tags
 

Uzak ve yerel ┼čubeler hakk─▒nda daha detayl─▒ bilgi sa─člayan bir komuta sahip git-extralar'─▒ da ┼čiddetle tavsiye ediyorum . git info https://github.com/tj/git-extras/blob/master/Commands.md#git-info


11







Temelde kullan─▒yorum:

 git remote get-url origin
 

Windows'ta Git Bash komut konsolu veya CMD komut konsolu i├žin ├žal─▒┼č─▒yor. Bu, Git'in 2.x s├╝r├╝m├╝yle ├žal─▒┼čt─▒─č─▒n─▒ s├Âyledi.


10







Giri┼č y├Ân├╝n├╝n uzaktan kumandas─▒ "k├Âkeni" olarak adland─▒r─▒lmayabilir, i┼čte burada bir varyasyon:

 remote=$(git config --get branch.master.remote)
url=$(git config --get remote.$remote.url)
basename=$(basename "$url" .git)
echo $basename
 

Veya:

 basename $(git config --get remote.$(git config --get branch.master.remote).url) .git
 

Daha yararl─▒ de─či┼čkenler i├žin var:

 $ git config -l
 

8







IP adresini / ana bilgisayar ad─▒n─▒ almak i├žin origin

─░├žin ssh:// depolar─▒:

 git ls-remote --get-url origin | cut -f 2 -d @ | cut -f 1 -d "/"
 

─░├žin git:// depolar─▒:

 git ls-remote --get-url origin | cut -f 2 -d @ | cut -f 1 -d ":"
 

7







Di─čer cevaplar─▒ desteklemek i├žin: E─čer uzaktan kumanda bir nedenden dolay─▒ de─či┼čtirilmi┼čse ve orijinal men┼čei yans─▒tm─▒yorsa , reflogdaki ilk giri┼č (yani komut taraf─▒ndan g├Âr├╝nt├╝lenen son giri┼č git reflog ) reponun ba┼člang─▒├žta klonland─▒─č─▒n─▒ g├Âstermelidir. dan.

├ľrne─čin

 $ git reflog | tail -n 1
f34be46 [email protected]{0}: clone: from https://github.com/git/git
$
 

(Reflogun temizlenebilece─čini unutmay─▒n, bu y├╝zden bunun ├žal─▒┼čmas─▒ garanti edilmez.)


7







─░le git remote show origin size projeler dizinde olmas─▒ gerekiyor. Ancak, URLÔÇÖleri ba┼čka bir yerden belirlemek isterseniz, kullanabilirsiniz:

 cat <path2project>/.git/config | grep url
 

S─▒k s─▒k bu komuta ihtiyac─▒n─▒z olursa, kendinizde .bashrc veya .bash_profile MacOS'ta bir takma ad tan─▒mlayabilirsiniz .

 alias giturl='cat ./.git/config | grep url'
 

Bu y├╝zden giturl , sadece URL'sini almak i├žin Git k├Âk klas├Âr├╝n├╝ araman─▒z yeterlidir.


Bu takma ad─▒ bu ┼čekilde geni┼čletirseniz

 alias giturl='cat .git/config | grep -i url | cut -d'=' -f 2'
 

├Âncekiler olmadan yaln─▒zca d├╝z URLÔÇÖyi al─▒rs─▒n─▒z

"Url ="

i├žinde

url = http://example.com/repo.git

kullan─▒m─▒nda daha fazla olanak elde edersiniz:

├ľrnek

MacÔÇÖte open $(giturl) URLÔÇÖyi standart taray─▒c─▒da a├žmak i├žin ├ža─čr─▒ yapabilirsiniz .

Veya chrome $(giturl) Linux'taki Chrome taray─▒c─▒s─▒yla a├žmak i├žin.


6







.git/config Dosyay─▒ a├žmak i├žin basit bir yol :

 cat .git/config
 

D├╝zenlemek i├žin:

vim .git/config veya

nano .git/config


6







 git config --list
 

Bu komut deponuzla ilgili t├╝m bilgileri verecektir.


6







─░ste─če ba─čl─▒ olarak adland─▒r─▒lan uzaktan al─▒m URL'lerini yazd─▒r:

 git remote -v | grep fetch | awk '{print $2}'
 

5


2013-01-20





Bir dal─▒n ak─▒┼č yukar─▒ y├Ândeki uzaktan kumandas─▒n─▒n ad─▒n─▒ bilmiyorsan─▒z, ├Ânce o anki dal─▒n ├╝zerine kurulu olan yukar─▒ ak─▒┼č dal─▒n─▒n ad─▒n─▒ denetleyerek buna bakabilirsiniz. Bunun git rev-parse gibi kullan─▒n :

 git rev-parse --symbolic-full-name --abbrev-ref @{upstream}
 

Bu, o andaki dal─▒n kayna─č─▒ olan yukar─▒ ak─▒┼č dal─▒n─▒n oldu─čunu g├Âsterir. Bu gibi uzak bir ad almak i├žin ayr─▒┼čt─▒r─▒labilir:

 git rev-parse --symbolic-full-name --abbrev-ref @{upstream} | cut -d / -f 1
 

┼×imdi onu git ls-remote al─▒n ve y├Âneltin; b├Âylece mevcut ┼čubenin kayna─č─▒ olan yukar─▒ y├Ândeki uzaktan kumandan─▒n URL'sini alacaks─▒n─▒z:

 git ls-remote --get-url \
  $(git rev-parse --symbolic-full-name --abbrev-ref @{upstream} | cut -d / -f 1)
 

┼×imdi, bunun mutlaka klonlanan kaynak uzak havuz ile ayn─▒ olmad─▒─č─▒na dikkat edilmelidir. Ancak bir├žok durumda yeterli olacakt─▒r.


4







 #!/bin/bash

git-remote-url() {
 local rmt=$1; shift || { printf "Usage: git-remote-url [REMOTE]\n" >&2; return 1; }
 local url

 if ! git config --get remote.${rmt}.url &>/dev/null; then
  printf "%s\n" "Error: not a valid remote name" && return 1
  # Verify remote using 'git remote -v' command
 fi

 url=`git config --get remote.${rmt}.url`

 # Parse remote if local clone used SSH checkout
 [[ "$url" == [email protected]* ]] \
 && { url="https://github.com/${url##*:}" >&2; }; \
 { url="${url%%.git}" >&2; };

 printf "%s\n" "$url"
}
 

Kullan─▒m─▒:

 # Either launch a new terminal and copy `git-remote-url` into the current shell process, 
# or create a shell script and add it to the PATH to enable command invocation with bash.

# Create a local clone of your repo with SSH, or HTTPS
git clone [email protected]:your-username/your-repository.git
cd your-repository

git-remote-url origin
 

Çıktı:

 https://github.com/your-username/your-repository
 

3



─░lgili yay─▒nlar


Yerel dosya sisteminden silmeden bir dosyay─▒ Git deposundan kald─▒r─▒n.

T├╝m depolarla git deposunu bitbucket'ten github'a nas─▒l ta┼č─▒yabilirim?

Mevcut kullan─▒ma al─▒nm─▒┼č Git ┼čubesini programl─▒ olarak belirleme [yinelenen]

Yerel bir Git deposunu uzak olanla senkronize etme

Yerel bir Git deposu nas─▒l yedeklenir?

Yerel Git havuzumda de─či┼čiklik olursa, Bash komut dosyas─▒n─▒ nas─▒l kontrol edebilirim?

Git'te bu kelimeler ne anlama geliyor: Depo, ├žatal, dal, klon, par├ža?

Neden bu de─či┼čken t├╝r├╝nden statik i├žeri─če eri┼čmek i├žin ba┼člat─▒lmam─▒┼č yerel de─či┼čkeni kullanam─▒yoruz?

Muhtemelen bir alt dizinde bulundu─čumda yerel git deposunun yolunu bulma [duplicate]

Yerel Git havuzumu uzak Git havuzuna nas─▒l ta┼č─▒r─▒m?

Etiketle ilgili di─čer sorular [git]


Android Soft Keyboard'u kapat─▒n / gizleyin

HTML sayfas─▒ndan y├Ânlendir

Bir JSON dizesini g├╝venli bir ┼čekilde bir nesneye d├Ân├╝┼čt├╝rme

Parametre alan bir Bash takma ad─▒ yap?

Android'de manzara modunu nas─▒l devre d─▒┼č─▒ b─▒rak─▒l─▒r?

Bir ├Ânceki i┼čleme geri d├Ânmek i├žin 'git reset --hard HEAD' kullanabilirim? [├žift]

MySQL'de birden fazla s├╝tun i├žin benzersiz k─▒s─▒tlamay─▒ nas─▒l belirleyebilirim?

<Context: annotation-config> ve <context: component-scan> aras─▒ndaki fark

Java Koleksiyonunu filtrelemenin en iyi yolu nedir?

C# statik s─▒n─▒flar─▒n─▒ ne zaman kullanmal─▒ [duplicate]