做(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

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


当前回答

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

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

其他回答

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

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

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

克隆-:它将在您的本地机器上创建完全相同的远程存储库项目副本。

Pull-:假设两个或两个以上的人共享同一个存储库。 (假设另一个人叫Syam) (存储库是你的项目存在于Github的地方)所以如果Syam在他的本地的同一个项目中做了一些更改,并将其推到远程存储库,所以无论Syam做了什么更改,这些更改都不会反映在你的本地。因此,要在本地反映这些新变化,你必须使用git pull。总的来说,我们使用git pull来更新项目。

所以基本上我们只使用git clone一次,而我们使用git pull很多次。

嗯,当我拉,当我克隆时,看到远程分支“4.2”时缺少什么?有些东西显然不一样。

tmp$  mkdir some_repo

tmp$  cd some_repo

some_repo$  git init
Initialized empty Git repository in /tmp/some_repo/.git/

some_repo$  git pull https://github.ourplace.net/babelfish/some_repo.git
  :
From https://github.ourplace.net/babelfish/some_repo
 * branch            HEAD       -> FETCH_HEAD

some_repo$  git branch
* master

vs

tmp$  rm -rf some_repo

tmp$  git clone https://github.ourplace.net/babelfish/some_repo.git
Cloning into 'some_repo'...
  :
Checking connectivity... done.

tmp$  cd some_repo

some_repo$  git branch
* 4.2

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

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

Git克隆意味着您正在系统中创建存储库的副本。

git fork意味着你将存储库复制到你的Github帐户。

Git拉取意味着您正在获取最后修改的存储库。

Git push意味着您在修改存储库后返回它。

通俗来说:

Git克隆正在下载和Git拉刷新。