做(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
我的意思是,显然有一个更短,但除此之外,它们基本上是在做同样的事情吗?
做(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
我的意思是,显然有一个更短,但除此之外,它们基本上是在做同样的事情吗?
当前回答
用外行的话来说,我们可以说:
克隆:获取远程存储库的工作副本。 拉:我正在做这个,请给我其他人可能会更新的新变化。
其他回答
克隆:将远程服务器存储库复制到本地机器。
Pull:获取其他已添加到本地机器的新更改。
这就是区别。
克隆通常用于获得远程回购副本。
Pull用于查看其他团队成员添加的代码,如果您在团队中工作。
Git clone <remote-url> <=>
创建一个新目录 Git init // init新的存储库 Git remote add origin <remote-url> // add remote Git fetch //获取所有远程分支 Git switch <default_branch> //切换到默认分支
git pull <=>
获取所有远程分支 合并当前本地分支和跟踪远程分支(不是另一个分支)(如果本地分支存在)
Git拉<远程> <分支> <=>
获取远程分支 合并当前本地分支和远程分支(如果本地分支存在)
嗯,当我拉,当我克隆时,看到远程分支“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 fetch + Git merge)是如何从远程存储库更新本地副本的。如果您正在与他人合作,这是一个您将经常运行的命令。
正如第一个示例所示,可以使用其他git命令的分类来模拟git clone,但git pull所做的事情与git clone“基本上相同”(反之亦然)并非真的如此。