Как клонировать репозиторий Git в определенную папку?
выполнение команды git clone git@github.com:whatever
создает каталог в моей текущей папке с именем whatever и сбрасывает содержимое репозитория Git в эту папку:
/httpdocs/whatever/public
моя проблема в том, что мне нужно, чтобы содержимое репозитория Git клонировалось в мой текущий каталог, чтобы они отображались в правильном месте для веб-сервера:
/httpdocs/public
Я знаю, как перемещать файлы после того, как я клонировал репозиторий, но это, похоже, сломает Git, и я хотел бы иметь возможность обновление просто позвонив git pull
. Как я могу это сделать?
15 ответов
Вариант A:
git clone git@github.com:whatever folder-name
Вариант B:
переместить .папка git тоже.
еще лучше:
сохраните рабочую копию в другом месте и создайте символическую ссылку.
пример я думаю, что многие люди, задающие этот вопрос, после этого. Если вы на каталог, в который вы хотите сбросить содержимое репозитория git, запустите:
git clone git@github.com:whatever .
в "."в конце указывает текущую папку в качестве папки кассе.
заходим в папку.. Если папка пуста, то:
git clone git@github.com:whatever .
else
git init
git remote add origin PATH/TO/REPO
git fetch
git checkout -t origin/master
Базовое Клонирование Репозитория Git
вы клонируете репозиторий с
git clone [url]
например, если вы хотите клонировать Стэнфордский университет Drupal Open Framework git library под названием open_framework, вы можете сделать это так:
$ git clone git://github.com/SU-SWS/open_framework.git
который создает каталог с именем open_framework (в вашем текущем местоположении локальной файловой системы), инициализирует a .каталог git внутри него, вытаскивает все данные для этого репозитория и проверяет рабочую копию последней версия. Если вы войдете во вновь созданный каталог open_framework, вы увидите файлы проекта, готовые к работе или использованию.
клонирование репозитория в определенную локальную папку
если вы хотите клонировать репозиторий в каталог с именем, отличным от open_framework, вы можете указать это в качестве следующего параметра командной строки:
$ git clone git:github.com/SU-SWS/open_framework.git mynewtheme
эта команда делает то же самое, что и предыдущий, но целевой каталог называется майневтем.
Git имеет несколько различных протоколов передачи, которые вы можете использовать. В предыдущем примере используется протокол git://, но вы также можете увидеть http (S): / / или user@server:/path - ... git, который использует протокол передачи SSH.
когда вы перемещаете файлы туда, куда хотите, вы также перемещаете ? В зависимости от вашей ОС и конфигурации этот каталог может быть скрыт.
Он содержит РЕПО и вспомогательные файлы, в то время как файлы проекта, которые находятся в вашем /public
каталог-это только версии в текущей фиксации check-out (основная ветвь по умолчанию).
клон:
git clone git@jittre.unfuddle.com:jittre/name.git
клонировать "отраслевые":
git clone -b [branch-name] git@jittre.unfuddle.com:jittre/name.git
Если вы хотите клонировать в текущую папку, вы должны попробовать это:
git clone https://github.com/example/example.git ./
убедитесь, что вы удалите .репозиторий Git, если вы пытаетесь проверить, что в текущем каталоге.
rm -rf .git
затем git clone https://github.com/symfony/symfony-sandbox.git
клонировать к Присутствует Рабочий Каталог:
git clone https://github.com/link.git
клонировать к Другое Каталог:
git clone https://github.com/link.git ./ Folder1 / Folder2
надеюсь, это поможет:)
использование
git clone <repository>
клонируйте репозиторий, расположенный в , на локальный компьютер. Исходный репозиторий может быть расположен в локальной файловой системе или на удаленном компьютере, доступном через HTTP или SSH.
git clone <repo> <directory>
клонируйте репозиторий, расположенный в
источник: настройка репозитория
вот как я бы это сделал, но я сделал псевдоним, чтобы сделать это для меня.
$ cd ~Downloads/git; git clone https:git.foo/poo.git
вероятно, есть более элегантный способ сделать это, однако я нашел, что это проще всего для себя.
вот псевдоним, который я создал, чтобы ускорить процесс. Я сделал его для zsh, но он должен отлично работать для bash или любой другой раковины, такой как рыба, xyzsh, fizsh и т. д.
редактировать ~/.zshrc
, /.bashrc
, etc. с вашим любимым редактором (мой-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'
после этого добавьте эти строки во вновь созданные пустые Алисы.файл плагина:
# Git aliases
alias gc="cd ~/Downloads/git; git clone "
(отсюда, замените свое имя на мое.)
затем, чтобы получить псевдонимы для работы, они (вместе с zsh) должны быть sourced-in (или что бы это ни было называемый.) Для этого внутри пользовательского документа плагина добавьте следующее:
## 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. Пожалуйста, не стесняйтесь вилять и улучшать их, чтобы одеть ваши потребности.
предположим, вы хотите в папке, как /stuff
, но ваш pull создает каталог под /repo/tokens/
.
вы можете сделать:
mkdir /stuff
ln -s /repo/tokens /stuff
вот именно. Вы закончили.
если вы используете 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/
путь.
относительно этой строки из исходного сообщения:
" Я знаю, как перемещать файлы после клонирования РЕПО, Но это кажется, сломать git"
Я могу это сделать, и я не вижу никаких проблем до сих пор с моими операциями добавления, фиксации, нажатия, вытягивания.
этот подход изложен выше, но просто не разбит на шаги. Вот шаги, которые работают для меня:
- клонировать РЕПО в любой свежий временный папка
- cd в эту корневую папку, которую вы только что клонировали локально
- скопируйте все содержимое папки, включая /.git directory-в любую существующую папку, которая вам нравится; (скажем, проект eclipse, который вы хотите объединить с вашим РЕПО)
существующая папка, в которую вы только что скопировали файлы , теперь готова к взаимодействию с git.