Как определить URL,из которого изначально был клонирован локальный Git-репозиторий...

git github git-remote


Я вытащил проект из GitHub несколько дней назад.С тех пор я обнаружил,что на GitHub есть несколько вилок,и забыл отметить,какую из них я взял изначально.Как я могу определить,какую из этих вилок я вытащил?




Answer 1 JaredPar


Если вам нужен только удаленный URL,или если вы не подключены к сети,которая может достичь удаленного repo:

git config --get remote.origin.url

Если вам требуется полный вывод, и вы находитесь в сети, которая может достичь удаленного репо, где находится источник:

git remote show origin

При использовании git clone (из GitHub или любого другого репозитория исходного кода) именем по умолчанию для источника клона является «origin». Использование git remote show покажет информацию об этом удаленном имени. Первые несколько строк должны показать:

C:\Users\jaredpar\VsVim> git remote show origin
* remote origin
  Fetch URL: git@github.com:jaredpar/VsVim.git
  Push  URL: git@github.com:jaredpar/VsVim.git
  HEAD branch: master
  Remote branches:

Если вы хотите использовать значение в сценарии,вы должны использовать первую команду,указанную в этом ответе.




Answer 2 Cascabel


Если вы хотите,чтобы это было сделано в целях написания сценария,вы можете получить только URL-адрес,содержащий

git config --get remote.origin.url



Answer 3 Montaro


Можешь попробовать:

git remote -v

Он распечатает все URL-адреса ваших пультов дистанционного управления.




Answer 4 Carl Suster


Чтобы получить ответ:

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

Это лучше, чем читать конфигурацию; обратитесь к странице git-ls-remote руководства для git-ls-remote :

--get-url

Разверните URL-адрес указанного удаленного репозитория с учетом любого параметра конфигурации "url.<base>.insteadOf" (см. git-config(1) ) и выйдите без обращения к удаленному.

Как отмечает @Jefromi, эта опция была добавлена ​​в v1.7.5 и не документирована до v1.7.12.2 (2012-09).




Answer 5 VonC


С Git 2.7 (выпуск 5 января 2015 г.) у вас есть более согласованное решение с использованием git remote :

git remote get-url origin

(хороший кулон источника git remote set-url origin <newurl> )

См. Коммит 96f78d3 (16 сентября 2015 г.) Бена Беккеля ( mathstuf ) .
(Объединено Junio ​​C Hamano - gitster - в коммите e437cbd , 5 октября 2015 г.) :

удалённый:добавить подкоманду get-url

Расширение insteadOf является частью ls-remote --url , и нет также возможности расширить pushInsteadOf .
Добавьте подкоманду get-url , чтобы иметь возможность запрашивать оба, а также способ получить все настроенные URL-адреса.

get-url:

Извлекает URL для удаленного доступа.
Конфигурации для insteadOf и pushInsteadOf здесь расширены.
По умолчанию в списке указан только первый URL.

  • С помощью ' --push ' push-URL-адреса запрашиваются, а не выбирают URL-адреса.
  • С ' --all ' будут перечислены все URL для удаленного.

До гита 2.7 у тебя было:

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