Git клонирует репозиторий в определенной папке, но сохраняет имя папки по умолчанию - PullRequest
0 голосов
/ 28 ноября 2018

Итак, я использую команду git clone, но когда я пытаюсь клонировать репозиторий в определенную папку, он не создает папку, как это обычно делается.Например, когда я использую его следующим образом

git clone https://github.com/username/repositoryName.git

, он создает папку с именем repositoryName и сохраняет там хранилище.Когда я использую его вот так

git clone https://github.com/username/repositoryName.git myFolderName

, он не создает папку по умолчанию, которую он будет создавать.Он просто сохраняет его в myFolderName.Дело в том, что я хочу, чтобы он хранился в этой папке по умолчанию, но я хочу эту папку по умолчанию в myFolderName.Я не могу использовать команду mv, потому что я не знаю имени папки по умолчанию и клонирую множество репозиториев одновременно.Есть идеи?

Заранее спасибо.

Ответы [ 3 ]

0 голосов
/ 28 ноября 2018

Как насчет чего-то вроде этого:

## Your links in an array
declare -a arr=("https://github.com/username/repositoryName" "https://github.com/username/repositoryName2")

## Folder to store each of these git repos
folder=myFolderName

## Go through each link in array
for i in "${arr[@]}"
do
    ## Use basename to extract folder name from link
    git clone $i $folder/$(basename $i)
done

, который создаст следующие git-репозитории:

myFolderName/repositoryName
myFolderName/repositoryName2

Примечание: Вам не нужно добавлять.git в конце каждой HTTPS-ссылки для git clone.

Если вам по какой-то причине нужно включить .git, вы можете удалить его с помощью:

git clone $i $folder/$(basename ${i%.*})
0 голосов
/ 29 ноября 2018

Если предположить, что myFolderName уже существует, самое простое решение это:

git -C myFolderName clone https://github.com/username/repositoryName.git
0 голосов
/ 28 ноября 2018

Вы должны быть в состоянии сделать это,

git clone https://github.com/username/repositoryName.git myFolderName/repositoryName

PS: так вы можете отделить имя хранилища от URL

basename -s .git $(echo "https://github.com/username/repositoryName.git")
...