如何将Git存储库克隆到特定文件夹?
git clone git@github.com:whatever
执行git clone git@github.com:whatever
命令git clone git@github.com:whatever
都会在我当前的文件夹中创建一个名为any的目录,并将Git存储库的内容拖放到该文件夹中:
/httpdocs/whatever/public
我的问题是我需要将Git存储库的内容克隆到当前目录中,以便它们出现在Web服务器的正确位置:
/httpdocs/public
克隆存储库后,我知道如何移动文件,但这似乎破坏了Git,我希望仅通过调用git pull
即可进行更新。 我怎样才能做到这一点?
#1楼
克隆:
git clone git@jittre.unfuddle.com:jittre/name.git
克隆“特定分支”:
git clone -b [branch-name] git@jittre.unfuddle.com:jittre/name.git
#2楼
基本的Git仓库克隆
您可以使用克隆一个存储库
git clone [url]
例如,如果要克隆斯坦福大学Drupal开放框架Git库,称为open_framework,则可以这样进行:
$ 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://协议,但是您可能还会看到使用SSH传输协议的http(s)://或user @ server:/path.git。
#3楼
关于原始帖子中的这一行:
“克隆克隆存储库后,我知道如何移动文件,但这似乎破坏了git”
我能够做到这一点,到目前为止,我的添加,提交,推送和拉取操作没有任何问题。
上面已经说明了这种方法,但并未分解为步骤。 以下是对我有用的步骤:
- 将仓库克隆到任何新的临时文件夹中
- cd到您刚刚在本地克隆的根文件夹中
- 将文件夹的整个内容(包括/.git目录)复制到您喜欢的任何现有文件夹中; (例如,您要与回购合并的Eclipse项目)
您刚刚将文件复制到的现有文件夹现在可以与git进行交互了。
#4楼
进入文件夹。如果文件夹为空,则:
git clone git@github.com:whatever .
其他
git init
git remote add origin PATH/TO/REPO
git fetch
git checkout -t origin/master
#5楼
我想很多人问这个问题的例子就是这个。 如果您位于目录中,则要将git信息库的内容转储到该目录中,请运行:
git clone git@github.com:whatever .
“。” 最后将当前文件夹指定为检出文件夹。
#6楼
用法
git clone <repository>
将位于<repository>的存储库克隆到本地计算机上。 原始存储库可以位于本地文件系统上,也可以位于可通过HTTP或SSH访问的远程计算机上。
git clone <repo> <directory>
将位于<repository>的存储库克隆到本地计算机上名为<directory>的文件夹中。
资料来源: 建立资料库
#7楼
这是我的处理方式,但是我已经替我做了一个别名。
$ cd ~Downloads/git; git clone https:git.foo/poo.git
这样做可能是更优雅的方式,但是我发现这对我自己来说是最简单的。
这是我创建的别名,可加快处理速度。 我是为zsh制作的,但它对bash或其他任何外壳(如鱼,xyzsh,fizsh等)都可以正常工作。
用您喜欢的编辑器编辑~/.zshrc
/.bashrc
, ~/.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 aliasesalias 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
source $ZSH/oh-my-zsh.sh; source /home/ev/.oh-my-zsh/plugins/ev-aliases/ev-aliases.plugin.zsh
。 这将加载插件源,这将允许您从现在开始使用allsource
。
我正在使用所有别名创建一个Git存储库。 请随时在此处检查它们: Ev的点文件 。 请随意分叉并改进它们以适合您的需求。
#8楼
如果要克隆到当前文件夹,则应尝试以下操作:
git clone https://github.com/example/example.git ./
#9楼
要将git仓库克隆到特定文件夹中,可以使用-C <path>
参数,例如
git -C /httpdocs clone git@github.com:whatever
虽然它还是会创造一个whatever
在它上面的文件夹,所以对资源库的内容克隆到当前目录,请使用以下语法:
cd /httpdocs
git clone git@github.com:whatever .
请注意, 仅当目录为空 时才允许克隆到现有目录。
由于您要克隆到可公开访问的文件夹中,因此请考虑使用--separate-git-dir=<git dir>
将Git存储库与工作树--separate-git-dir=<git dir>
或在Web服务器配置中排除.git
文件夹(例如,在中.htaccess
文件)。
#10楼
克隆到当前工作目录 :
git clone https://github.com/link.git
克隆到另一个目录 :
git clone https://github.com/link.git ./Folder1/Folder2
希望能帮助到你 :)
#11楼
如果您使用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/
路径。
#12楼
如果要尝试将.git存储库检出到当前目录,请确保将其删除。
rm -rf .git
然后git clone https://github.com/symfony/symfony-sandbox.git
#13楼
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 .
#14楼
由于某种原因,此语法不突出:
git clone repo-url [folder]
这里,文件夹是本地文件夹(将是本地存储库)的可选路径。
Git clone
还将pull
代码从远程存储库拉入本地存储库。 实际上是真的:
git clone repo-url = git init + git remote add origin repo-url + git pull
#15楼
我建议您点击以下链接:
https://help.github.com/en/articles/cloning-a-repository
如果在git clone URL命令时收到以下错误
fatal: unable to access 'URL': Could not resolve host: github.com
然后使用以下命令对其进行修复:
git config --global --unset https.proxy
#16楼
尽管以上所有答案都不错,但我想提出一种新方法,而不是像在接受的答案中建议的BEST那样,在公共html目录中使用符号链接方法。 您需要有权访问服务器虚拟主机配置。
它是关于直接指向存储库目录配置Web服务器的虚拟主机。 在Apache中,您可以像这样:
DocumentRoot / var / www / html / website / your-git-repo
这是虚拟主机文件的示例:
<VirtualHost *:443>ServerName example.comDocumentRoot /path/to/your-git-repo............
</VirtualHost>
#17楼
选项A:
git clone git@github.com:whatever folder-name
Ergo,在right here
使用:
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。
#18楼
当您将文件移动到所需位置时,是否也在移动.git
目录? 根据您的操作系统和配置,此目录可能是隐藏的。
它包含存储库和支持文件,而/public
目录中的项目文件仅是当前签出提交(默认为master分支)中的版本。
如何将Git存储库克隆到特定文件夹?相关推荐
- git 创建本地存储库_创建您的第一个Git存储库
git 创建本地存储库 读: 第1部分:什么是Git? 第2部分:Git入门 第3部分:创建第一个Git存储库 第4部分:如何在Git中还原旧文件版本 第5部分:3个用于Git的图形工具 第6部分:如 ...
- 如何从 Git 存储库中删除文件?
问: 如何从我的存储库中删除 "file1.txt"? 答1: huntsbot.com – 程序员副业首选,一站式外包任务.远程工作.创意产品分享订阅平台. 使用 git rm. ...
- 如何确定最初克隆本地Git存储库的URL?
几天前我从GitHub上撤了一个项目. 我已经发现GitHub上有几个叉子,我忽略了我最初采用的那个. 如何确定我拉出的哪个叉子? #1楼 打印任意命名的远程提取URL: git remote -v ...
- 解决:Unable to clone Git repository due to self signed certificate(由于自签名证书,无法克隆Git存储库)的问题
Unable to clone Git repository due to self signed certificate 今天准备将自己做的项目上传到github上,在克隆repository到 本 ...
- 将现有Git存储库推送到SVN
我一直在用Git完成所有工作并推送到GitHub. 我对软件和网站都非常满意,我不想在此时改变我的工作方式. 我的博士生顾问要求所有学生将他们的工作保存在大学托管的SVN存储库中. 我已经找到大量关于 ...
- 尝试远程添加Git存储库时收到“致命错误:不是git存储库”
我通过遵循本教程向自己介绍Git: 让jekyll在Nearlyfreespeech.net上运行 一切正常,直到将回购添加到本地计算机的部分为止: git remote add nfsn ssh:/ ...
- 如何仅从git存储库中稀疏签出单个文件?
如何从git仓库中检出一个文件? #1楼 git checkout branch_or_version-路径/文件 示例: git checkout HEAD -- main.c #2楼 如果您已经有 ...
- g4e基础篇#4 了解Git存储库(Repo)
Git 存储库看上去就是一个文件夹,只是在这个文件夹中不仅仅保存了所有文件的当前版本,也同时保存了所有的历史记录,这些额外的信息都保存在当前文件夹下面的.git子目录中.因为前面我们所描述的git跟踪 ...
- 将子目录分离(移动)到单独的Git存储库中
我有一个Git存储库,其中包含许多子目录. 现在,我发现一个子目录与另一个子目录无关,应该将其分离到单独的存储库中. 如何在保留子目录中文件历史记录的同时执行此操作? 我想我可以制作一个克隆并删除每个 ...
最新文章
- 001_Maven入门
- 自定义负载均衡策略:
- 学习阮一峰Javascript模块化编程,requireJS使用
- Git学习总结(1)——Git使用详细教程
- TCP三次握手连接和TCP四次挥手及大量TIME_WAIT解决方法:
- Linux沙箱技术介绍
- 一个独到程序员的深刻见解(转)
- version magic 不一致问题
- 从鸭子游戏设计看设计模式
- 基于Matlab的压力控制论文,基于Matlab的压力容器螺栓组联接优化设计的论文
- 在Azure上实现Python应用和数据现代化第1部分:简介
- 大学学计算机7代i5够吗,学生党必看:最新的7代酷睿与Core i5相比该选谁?
- mean shift:从图像分割到特征空间分析
- [导入]阿里妈妈广告牌生成器
- vscode卡在Setting up SSH Host XX:Copying VS Code Server to host with scp
- 快速生成 web app 动态展示机器学习项目
- 192.168.和10.0.开头的IP、内网IP段、IP简介、分类——(IP观止)
- 安卓桌面软件_银河麒麟桌面操作系统V10
- DTOJ#5238. 庆生会
- 显示器点距 测试软件,液晶显示器常见、尺寸、分辨率、点距
热门文章
- java 编码二进制写法、十六进制用源代码表示
- Android 虚线实现绘制 - DashPathEffect
- 第四周项目五-用递归方法求解(输出Fibnacci序列的第20个数)
- jQuery EasyUI DataGrid - 格式化列(formatter )
- python训练好的图片验证_利用keras加载训练好的.H5文件,并实现预测图片
- Android之EasyPermissions源码解析
- Redis支持的5种数据类型
- 人工智能实践:TensorFlow笔记学习(八)—— 卷积神经网络实践
- 如何在Storyboard中使用Scroll view
- Flutter开发之ListView下拉刷新上拉加载更多(35)