Как вы клонируете репозиторий Git в определенную папку? - PullRequest
1958 голосов
/ 16 марта 2009

Выполнение команды git clone git@github.com:whatever создает каталог в моей текущей папке с именем any и помещает содержимое хранилища Git в эту папку:

/httpdocs/whatever/public

Моя проблема в том, что мне нужно, чтобы содержимое репозитория Git было клонировано в мой текущий каталог, чтобы оно отображалось в правильном месте для веб-сервера:

/httpdocs/public

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

Ответы [ 17 ]

8 голосов
/ 26 июня 2015

Usage

git clone <repository>

Клонируйте репозиторий, расположенный в , на локальный компьютер. Исходный репозиторий может находиться в локальной файловой системе или на удаленном компьютере, доступном через HTTP или SSH.

git clone <repo> <directory>

Клонируйте репозиторий, расположенный в , в папку с именем на локальном компьютере.

Источник: Настройка хранилища

3 голосов
/ 28 февраля 2016

Вот как я бы это сделал, но я сделал псевдоним, чтобы сделать это для меня.

$ cd ~Downloads/git; git clone https:git.foo/poo.git

Вероятно, есть более элегантный способ сделать это, однако я обнаружил, что для меня это проще всего.

Вот псевдоним, который я создал, чтобы ускорить процесс. Я сделал это для zsh, но он должен отлично работать для bash или любой другой оболочки, такой как fish, xyzsh, fizsh и т. Д.

Редактируйте ~/.zshrc, /.bashrc и т. Д. С помощью вашего любимого редактора (у меня Leafpad, поэтому я бы написал $ leafpad ~/.zshrc).

Однако я предпочитаю создать плагин zsh для отслеживания всех моих псевдонимов. Вы можете создать персональный плагин для oh-my-zsh, выполнив следующие команды:

$ cd ~/.oh-my-zsh/
$ cd plugins/
$ mkdir your-aliases-folder-name; cd your-aliases-folder-name
     # In my case '~/.oh-my-zsh/plugins/ev-aliases/ev-aliases'
$ leafpad your-zsh-aliases.plugin.zsh
     # Again, in my case 'ev-aliases.plugin.zsh'

Затем добавьте эти строки в только что созданный пустой файл alises.plugin:

# Git aliases
alias gc="cd ~/Downloads/git; git clone "

(Здесь замените свое имя на мое.)

Затем, чтобы заставить работать псевдонимы, они (вместе с zsh) должны быть получены (или как там это называется). Для этого в вашем документе плагина добавьте:

## Ev's Aliases

#### Remember to re-source zsh after making any changes with these commands:

#### These commands should also work, assuming ev-aliases have already been sourced before:

allsource="source $ZSH/oh-my-zsh.sh ; source /home/ev/.oh-my-zsh/plugins/ev-aliases/ev-aliases.plugin.zsh; clear"
sourceall="source $ZSH/oh-my-zsh.sh ; source /home/ev/.oh-my-zsh/plugins/ev-aliases/ev-aliases.plugin.zsh"
#### 

####################################

# git aliases

alias gc="cd ~/Downloads/git; git clone "
# alias gc="git clone "
# alias gc="cd /your/git/folder/or/whatever; git clone "

####################################

Сохраните ваш плагин oh-my-zsh и запустите allsource. Если это не работает, просто запустите source $ZSH/oh-my-zsh.sh; source /home/ev/.oh-my-zsh/plugins/ev-aliases/ev-aliases.plugin.zsh. Это загрузит источник плагина, который позволит вам использовать allsource с этого момента.


Я нахожусь в процессе создания Git-репозитория со всеми моими псевдонимами. Пожалуйста, не стесняйтесь проверить их здесь: Дот-файлы Ev . Пожалуйста, не стесняйтесь раскошелиться и улучшить их, чтобы удовлетворить ваши потребности.

1 голос
/ 30 января 2019

По какой-то причине этот синтаксис не выделяется:

git clone repo-url [folder]

Здесь папка является необязательным путем к локальной папке (которая будет локальным хранилищем).

Git clone также будет pull кодировать из удаленного репозитория в локальный репозиторий. На самом деле это правда:

git clone repo-url  =  git init + git remote add origin repo-url + git pull
1 голос
/ 27 марта 2017

Если вы используете ssh для git cloning, вы можете использовать следующую команду.

git -C path clone git@github.com:path_to_repo.git

например: git -C /home/ubuntu/ clone git@github.com:kennethreitz/requests.git перенаправит хранилище git на requests на ваш /home/ubuntu/ путь.

0 голосов
/ 07 апреля 2019

Я рекомендую вам перейти по следующей ссылке:

https://help.github.com/en/articles/cloning-a-repository

Если во время git clone URL command

появляется следующая ошибка
fatal: unable to access 'URL': Could not resolve host: github.com

Затем используйте следующую команду, чтобы исправить это:

git config --global --unset https.proxy
0 голосов
/ 24 октября 2018
For Windows user 

1> Open command prompt.
2> Change the directory to destination folder (Where you want to store your project in local machine.)
3> Now go to project setting online(From where you want to clone)
4> Click on clone, and copy the clone command.
5> Now enter the same on cmd .

It will start cloning saving on the selected folder you given .
0 голосов
/ 06 мая 2013

Относительно этой строки из исходного поста:

"Я знаю, как переместить файлы после того, как я клонировал репозиторий, но это кажется, сломать мерзавец "

Я могу это сделать и пока не вижу проблем с операциями добавления, фиксации, push, pull.

Этот подход изложен выше, но не разбит на этапы. Вот шаги, которые работают для меня:

  1. клонировать репо в любую свежую временную папку
  2. перейдите в ту корневую папку, которую вы только что клонировали локально
  3. копировать все содержимое папки, включая каталог /.git, в любую существующую папку; (скажем, проект затмения, который вы хотите объединить с вашим репо)

Существующая папка, в которую вы только что скопировали файлы, теперь готова к взаимодействию с git.

...