Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Git克隆与添加远程?用哪一个?_Git_Version Control - Fatal编程技术网

Git克隆与添加远程?用哪一个?

Git克隆与添加远程?用哪一个?,git,version-control,Git,Version Control,在许多情况下,我需要使用其他人创建的新源代码集。他们给我一个指向他们存储库的URL,如: https://git.ourcompany.com/projects/SUPERNUKE/repos/supernuke/browse 要开始使用此代码,假设我的机器上有一个c:/projects/SUPERNUKE目录,我似乎有两个基本选项:(1)我可以克隆存储库,或者(2)我可以初始化我自己的存储库并将URL添加为远程URL。我应该选择哪种方法 第二个问题是如何设置本地目录结构。项目文件夹中可能有很

在许多情况下,我需要使用其他人创建的新源代码集。他们给我一个指向他们存储库的URL,如:

https://git.ourcompany.com/projects/SUPERNUKE/repos/supernuke/browse
要开始使用此代码,假设我的机器上有一个
c:/projects/SUPERNUKE
目录,我似乎有两个基本选项:(1)我可以克隆存储库,或者(2)我可以初始化我自己的存储库并将URL添加为远程URL。我应该选择哪种方法

第二个问题是如何设置本地目录结构。项目文件夹中可能有很多非代码的东西,比如数据、设计文档、学术论文和其他东西。我最好使用像上面显示的URL这样的结构,或者有更好的方法吗?换句话说,要遵循上面URL的结构,我将(使用Git Bash for Windows)执行以下操作:


如果我遵循这个模式,有两件事我仍然不明白。既然我已经在SUPERNUKE项目目录中,为什么我要在repos下面再次添加它?为什么不在repos下创建目录“src”并克隆到其中呢?事实上,为什么不直接克隆到“repos”目录中呢?我不能在同一目录中克隆多个repo吗?为什么创建者会有一个“浏览”目录?

您应该使用
克隆,因为这就是它的用途。它创建目录,初始化为Git repo,设置远程文件并获取更改

如果您有一个克隆,并且希望添加指向同一克隆网络中另一个远程存储库的另一个远程存储库,则添加远程存储库会更有帮助,例如。G如果您想从您的同事那里获得尚未在中央Git存储库中的提交,那么他就是您的同事之一


如何布局本地目录完全取决于您。在URL中,它只是存储所有存储库的路径
/projects/SUPERNUKE/repos/
,然后是属于GitLab服务器上的用户或组
SUPERNUKE
或您使用的任何托管软件的存储库
browse

您应该使用
clone
,因为这就是它的用途。它创建目录,初始化为Git repo,设置远程文件并获取更改

如果您有一个克隆,并且希望添加指向同一克隆网络中另一个远程存储库的另一个远程存储库,则添加远程存储库会更有帮助,例如。G如果您想从您的同事那里获得尚未在中央Git存储库中的提交,那么他就是您的同事之一


如何布局本地目录完全取决于您。在URL中,它只是存储所有存储库的路径
/projects/SUPERNUKE/repos/
,然后是一个存储库
browse
,它属于GitLab服务器上的用户或组
SUPERNUKE
,或者您使用的任何托管软件。

git clone
有效地运行
git init;git远程添加源代码;git获取;git checkout
(除了第一个命令外,其他所有命令都在新存储库中运行;init通常在
git clone
创建的新目录中完成,尽管这是可选的)。如果您想运行所有这四个步骤,不妨使用
git clone
来完成。答案是否有助于您解决问题?如果是,请标记它。它将帮助其他有类似问题的人。@Marina MSFT这个问题可能对其他人有用吗?如果是,请向上投票。
git clone
有效运行
git init;git远程添加源代码;git获取;git checkout
(除了第一个命令外,其他所有命令都在新存储库中运行;init通常在
git clone
创建的新目录中完成,尽管这是可选的)。如果您想运行所有这四个步骤,不妨使用
git clone
来完成。答案是否有助于您解决问题?如果是,请标记它。它将帮助其他有类似问题的人。@Marina MSFT这个问题可能对其他人有用吗?如果是,请投赞成票。
cd c:/projects/SUPERNUKE
mkdir repos
cd repos
mkdir supernuke
cd supernuke
[then either clone or init]