如何将Git存储库克隆到特定文件夹中?

How do you clone a Git repository into a specific folder?

执行命令git clone [email protected]:whatever将在当前文件夹中创建一个名为whatever的目录,并将git存储库的内容放到该文件夹中:

1
/httpdocs/whatever/public

我的问题是,我需要将git存储库的内容克隆到当前目录中,以便它们显示在Web服务器的正确位置:

1
/httpdocs/public

我知道在克隆存储库之后如何移动文件,但这似乎会破坏git,我想只通过调用git pull就可以进行更新。我该怎么做?


备选案文A:

1
git clone [email protected]:whatever folder-name

备选案文B:

动作快点。

Better Yet:

把你的工作拷贝到某处,创建一个象征性的链接。


例如,我认为许多人提出这个问题之后就是这样。如果你是在目录中,你想要的是GIT repository dumped的内容,运行:

ZZU1

"The."at the end specifies the current folder as the checkout folder.


走进民谣If the folder is empty,then:

ZZU1

埃尔斯

1
2
3
4
git init
git remote add origin PATH/TO/REPO
git fetch
git checkout -t origin/master


基底基底基底休息克隆

你克隆了一个休息

1
git clone [url]

例如,如果你想克隆斯坦福大学德鲁帕尔开放框架GIT图书馆称为开放框架,你可以这样做:

1
$ git clone git://github.com/SU-SWS/open_framework.git

创建一个目录名称打开 framework(在您当前的本地文件系统定位时),初始化目录内的一个GIT目录,按下所有数据以供存储,并检查最新版本的工作拷贝。如果你进入新创建的框架目录,你会看到项目文件在那里,准备工作或使用。

Cloning a restitutory into a specific local folder

如果你想克隆保存在一个目录中,除了打开 nFramework之外,你可以在下一个命令行选项中具体说明:

1
$ git clone git:github.com/SU-SWS/open_framework.git mynewtheme

指挥官所做的事与第一个一样,但目标目录被称为mynewtheme。

GIT有许多不同的传输协议你可以使用。The previous example use the GIT http://protocol,but you may also see http://s//or user@server:/path.git,which uses the SSH transfer protocol.


当你移动文件到你想要的地方时,你是否也在移动.git?取决于你的骨头和配置,这个目录可能是隐藏的。

它包含了Repo和支持文件,其中的项目文件在你的EDOCX1&1中。


克隆:

1
git clone [email protected]:jittre/name.git

Clone the"specific branch":

1
git clone -b [branch-name] [email protected]:jittre/name.git


如果要克隆到当前文件夹中,应尝试以下操作:

1
git clone https://github.com/example/example.git ./


要克隆到当前工作目录,请执行以下操作:

git克隆https://github.com/link.git

要克隆到另一个目录:

git克隆https://github.com/link.git./folder1/folder2

希望有帮助:)


要将Git存储库克隆到特定文件夹中,可以使用-C 参数,例如

1
git -C /httpdocs clone [email protected]:whatever

尽管它仍然会在上面创建一个whatever文件夹,因此要将存储库的内容克隆到当前目录中,请使用以下语法:

1
git [email protected]:whatever .

请注意,只有当目录为空时,才允许克隆到现有目录中。

由于您要克隆到可供公众访问的文件夹中,请考虑使用--separate-git-dir=将Git存储库与工作树分离,或在Web服务器配置中排除.git文件夹(例如在.htaccess文件中)。


如果你试着查看当前目录中的东西,请确认你可以把它移走。

埃多克斯1


使用

1
git clone <repository>

克隆在本地机器上的休息位置。原始库可位于本地文件系统或远程机器上,可通过http://ssh访问。

1
git clone <repo> <directory>

克隆在本地机器上被定位在<休息>上的民间传说中。

资料来源:建立一个休养机构。


我可以这样做,但我已经做了一个别名。

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

可能有一种更优雅的方式来做这个,但是我发现这对我自己来说是最容易的。

这是我创建的加快速度的别名。我是为zsh做的,但是对于bash或者其他贝壳,比如鱼、xyzsh、fizsh等等,它应该可以很好地工作。

用你最喜欢的编辑器(我的是leafpad,所以我会写$ leafpad ~/.zshrc)来编辑~/.zshrc/.bashrc等。

不过,我个人的偏好是制作一个zsh插件来跟踪我的所有别名。您可以通过运行以下命令为oh my zsh创建一个个人插件:

1
2
3
4
5
6
$ 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文件中:

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

(从这里,用我的名字代替你的名字。)

然后,为了让别名正常工作,它们(连同zsh)必须从源代码(或它所称的任何代码)中获得。为此,在自定义插件文档中添加:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
## 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的DOT文件。请随时根据您的需要提供并改进。


如果您使用ssh作为git cloning,则可以使用以下命令。

git -C path clone [email protected]:path_to_repo.git

如:git -C /home/ubuntu/ clone [email protected]:kennethreitz/requests.git会把requests的git存储库拉到你的/home/ubuntu/路径上。


出于某种原因,这种语法并不突出:

git clone repo-url [folder]

此处文件夹是指向本地文件夹(将是本地存储库)的可选路径。

git clone还将pull代码从远程存储库导入本地存储库。事实上,这是真的:

1
git clone repo-url  =  git init + git remote add origin repo-url + git pull

1
2
3
4
5
6
7
8
9
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 .

我建议您遵循以下链接:

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

如果在git clone url命令时出现以下错误

1
fatal: unable to access 'URL': Could not resolve host: github.com

然后使用以下命令修复它:

1
git config --global --unset https.proxy


Regarding this line from the original post:

"I know how to move the files after I've cloned the repo, but this
seems to break git"

我可以做到这一点,而且我不认为任何问题与我的Add,commit,push,pull operations如此遥远。

这一方法已在上面说明,但并没有打破到一步。这是为我工作的步骤:

  • 克隆回复到任何新鲜的暂时折叠
  • 进入根弯曲的你只是在本地克隆
  • 复制此文档的全部内容,包括您喜欢的任何现有文档
  • 你刚刚复制了文件,现在已经准备好与GIT互动。