命令git clonegit@github.com:whatever创建一个名为whatever的目录,其中包含Git存储库:
./
whatever/
.git
我希望将Git存储库的内容克隆到我的当前目录中。/而是:
./
.git
命令git clonegit@github.com:whatever创建一个名为whatever的目录,其中包含Git存储库:
./
whatever/
.git
我希望将Git存储库的内容克隆到我的当前目录中。/而是:
./
.git
选项A:
git clone git@github.com:whatever folder-name
Ergo,在这里使用:
git clone git@github.com:whatever .
选项B:
也移动.git文件夹。请注意,.git文件夹在大多数图形文件浏览器中都是隐藏的,所以一定要显示隐藏的文件。
mv /where/it/is/right/now/* /where/I/want/it/
mv /where/it/is/right/now/.* /where/I/want/it/
第一行获取所有普通文件,第二行获取点文件。也可以通过启用dotglob(即shopt-s dotglob)在一行中完成,但如果你问这个答案所回答的问题,这可能是一个糟糕的解决方案。
更好:
将工作副本保存在其他地方,并创建一个符号链接。这样地:
ln -s /where/it/is/right/now /the/path/I/want/to/use
对于您的情况,这可能是:
ln -sfn /opt/projectA/prod/public /httpdocs/public
如果您需要,可以很容易地将其更改为测试,即:
ln -sfn /opt/projectA/test/public /httpdocs/public
而无需四处移动文件。添加了-fn,以防有人复制这些行(-f是强制的,-n避免与现有和非现有链接进行一些经常不需要的交互)。
如果你只是想让它发挥作用,使用选项A,如果其他人要看你做了什么,使用选项C。
当您将文件移动到需要的位置时,是否也在移动.git目录?根据您的操作系统和配置,此目录可能被隐藏。
它包含repo和支持文件,而位于/public目录中的项目文件仅为当前签出提交(默认情况下为主分支)中的版本。
我想很多人都想问这个问题的例子就是这个。如果您位于git存储库内容转储到的目录中,请运行:
git clone git@github.com:whatever .
结尾处的“.”将当前文件夹指定为签出文件夹。
如果要将其签入当前目录,请确保删除.git存储库。
rm-rf.git然后是git克隆https://github.com/symfony/symfony-sandbox.git
克隆:
git clone git@jittre.unfuddle.com:jittre/name.git
克隆“特定分支”:
git clone -b [branch-name] git@jittre.unfuddle.com:jittre/name.git
基本Git存储库克隆
使用克隆存储库
git clone [url]
例如,如果要克隆名为Open_Framework的斯坦福大学Drupal开放框架Git库,可以这样做:
$ git clone git://github.com/SU-SWS/open_framework.git
这将创建一个名为open_framework的目录(位于当前本地文件系统位置),初始化其中的.git目录,下拉该存储库的所有数据,并检查最新版本的工作副本。如果您进入新创建的open_framework目录,您将看到其中的项目文件,随时可以处理或使用。
将存储库克隆到特定的本地文件夹
如果要将存储库克隆到名为open_framework以外的目录中,可以将其指定为下一个命令行选项:
$ git clone git:github.com/SU-SWS/open_framework.git mynewtheme
该命令执行与前一个命令相同的操作,但目标目录名为mynewtheme。
Git有许多不同的传输协议可以使用。前面的示例使用git://协议,但您也可以看到http(s)://或user@server:/path.git,它使用SSH传输协议。
关于原帖子中的这一行:
“我知道在克隆了回购之后如何移动文件,但这似乎打破了git”
我能够做到这一点,到目前为止,我看不到我的添加、提交、推送和拉取操作有任何问题。
上述方法已说明,但并未细分为步骤。以下是适用于我的步骤:
将repo克隆到任何新的临时文件夹中cd到您刚刚在本地克隆的根文件夹中将文件夹的全部内容(包括/.git目录)复制到您喜欢的任何现有文件夹中;(假设您希望与回购合并的eclipse项目)
您刚刚将文件复制到的现有文件夹现在可以与git交互了。
进入文件夹。。如果文件夹为空,则:
git clone git@github.com:whatever .
else
git init
git remote add origin PATH/TO/REPO
git fetch
git checkout -t origin/master
用法
git clone <repository>
将位于<repository>的存储库克隆到本地计算机上。原始存储库可以位于本地文件系统上,也可以位于可通过HTTP或SSH访问的远程计算机上。
git clone <repo> <directory>
将位于<repository>的存储库克隆到本地计算机上名为<directory>的文件夹中。
来源:设置存储库
我会这样做,但我已经化名为我做了。
$ cd ~Downloads/git; git clone https:git.foo/poo.git
也许有一种更优雅的方式来做这件事,但我发现这对我自己来说是最简单的。
这是我为加快进度而创建的别名。我为zsh制作了它,但它对bash或任何其他贝壳(如鱼、xyzsh、fizsh等)都应该很好。
用你最喜欢的编辑器编辑~/.zshrc、/.bashrc等(我的是Leafpad,所以我会写$leakpad~/.zhrc)。
然而,我个人的偏好是制作一个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'
然后,将这些行添加到新创建的空白alies.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的点文件。请随意挑选和改进,以满足您的需求。
要将git存储库克隆到特定文件夹中,可以使用-C<path>参数,例如。
git -C /httpdocs clone git@github.com:whatever
尽管它仍然会在其上创建一个任意文件夹,但要将存储库的内容克隆到当前目录中,请使用以下语法:
cd /httpdocs
git clone git@github.com:whatever .
请注意,仅当目录为空时,才允许克隆到现有目录中。
由于要克隆到可供公众访问的文件夹中,请考虑使用--separate Git-dir=<Git-dir>或在web服务器配置中排除.Git文件夹(例如在.htaccess文件中),将Git存储库与工作树分离。
要克隆到当前工作目录:
git clone https://github.com/link.git
要克隆到另一个目录:
git clone https://github.com/link.git ./Folder1/Folder2
希望它有帮助:)
如果使用ssh进行git克隆,可以使用以下命令。
git-C路径克隆git@github.com:路径_to_epo.git
如:git-C/home/ubuntu/clonegit@github.com:kennetritz/requests.git将请求的git存储库拉到/home/ubuntu/path。
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 .
由于某些原因,这种语法并不突出:
git clone repo url[文件夹]
这里,文件夹是指向本地文件夹(将是本地存储库)的可选路径。
Git克隆还会将代码从远程存储库拉入本地存储库。事实上,这是真的:
git clone repo-url = git init + git remote add origin repo-url + git pull
虽然上面的所有答案都很好,但我想提出一种新的方法,而不是在公共html目录中使用符号链接方法,正如公认答案中提出的BEST。您需要访问服务器虚拟主机配置。
它是关于配置直接指向存储库目录的web服务器的虚拟主机。在Apache中,您可以这样做:
DocumentRoot/var/www/html/website/your git repo
以下是虚拟主机文件的示例:
<VirtualHost *:443>
ServerName example.com
DocumentRoot /path/to/your-git-repo
...
...
...
...
</VirtualHost>
您可以使用以下git命令使用自定义目录名进行克隆
git clone <git_repo_url> <your_custom_directory_name>
注意:您不需要创建自定义目录,因为它会自动创建
如果您位于git存储库内容转储到的目录中,请运行:
git clone git@github.com:origin .
结尾处的“.”将当前文件夹指定为签出文件夹。
转到要克隆回购的目录。(不要在该目录中运行gitinit命令)只需运行命令,git clone<git repo url>。
示例:git clonehttps://github.com/Rashmi-Wijesekara/portfolio.git .
如果使用github-cli,则可以使用以下命令:
gh repo clone <repository> [<directory>] [-- <gitflags>...]
例如,您可以运行以下命令:
gh repo clone repository-name-on-github my-local-folder