做(mkdir repo和cd repo之后)的区别是什么:

git init
git remote add origin git://github.com/cmcculloh/repo.git
git fetch --all
git pull origin master

and

git clone git://github.com/cmcculloh/repo.git

我的意思是,显然有一个更短,但除此之外,它们基本上是在做同样的事情吗?


当前回答

它们基本上是一样的,除了克隆会设置额外的远程跟踪分支,而不仅仅是master。查看手册页:

将存储库克隆到新创建的目录中,为克隆存储库中的每个分支创建远程跟踪分支(使用git branch -r可见),并创建和检出从克隆存储库的当前活动分支派生出来的初始分支。

其他回答

它们基本上是一样的,除了克隆会设置额外的远程跟踪分支,而不仅仅是master。查看手册页:

将存储库克隆到新创建的目录中,为克隆存储库中的每个分支创建远程跟踪分支(使用git branch -r可见),并创建和检出从克隆存储库的当前活动分支派生出来的初始分支。

Git克隆只用于下载当前在远程服务器存储库中工作的内容,并将其保存在放置该项目的计算机文件夹中。 大多数情况下,它只在我们第一次上传项目时使用。在那之后拉是更好的选择。

Git pull基本上是一个(克隆(下载)+合并)操作,主要用于团队工作。换句话说,当您想要该项目中的最近更改时,您可以进行拉取。

Git克隆是获取现有存储库的本地副本的方法。对于给定的存储库,它通常只使用一次,除非您希望它有多个工作副本。(或者在搞砸了本地的拷贝后,想要一份干净的拷贝…)

Git pull(或Git fetch + Git merge)是如何从远程存储库更新本地副本的。如果您正在与他人合作,这是一个您将经常运行的命令。

正如第一个示例所示,可以使用其他git命令的分类来模拟git clone,但git pull所做的事情与git clone“基本上相同”(反之亦然)并非真的如此。

用外行的话来说,我们可以说:

克隆:获取远程存储库的工作副本。 拉:我正在做这个,请给我其他人可能会更新的新变化。

完整的项目或存储库将作为一个单独的目录下载。不仅仅是变化 它只会获取已经完成的更改,而不是整个项目