做(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
我的意思是,显然有一个更短,但除此之外,它们基本上是在做同样的事情吗?
当前回答
虽然git fetch命令将获取服务器上您还没有的所有更改,但它根本不会修改您的工作目录。它将简单地为您获取数据,并让您自己合并数据。然而,有一个叫git pull的命令,在大多数情况下,它本质上是一个git fetch,然后是git merge。
阅读更多信息:https://git-scm.com/book/en/v2/Git-Branching-Remote-Branches#Pulling
其他回答
完整的项目或存储库将作为一个单独的目录下载。不仅仅是变化 它只会获取已经完成的更改,而不是整个项目
克隆:将远程服务器存储库复制到本地机器。
Pull:获取其他已添加到本地机器的新更改。
这就是区别。
克隆通常用于获得远程回购副本。
Pull用于查看其他团队成员添加的代码,如果您在团队中工作。
它们基本上是一样的,除了克隆会设置额外的远程跟踪分支,而不仅仅是master。查看手册页:
将存储库克隆到新创建的目录中,为克隆存储库中的每个分支创建远程跟踪分支(使用git branch -r可见),并创建和检出从克隆存储库的当前活动分支派生出来的初始分支。
Git克隆只用于下载当前在远程服务器存储库中工作的内容,并将其保存在放置该项目的计算机文件夹中。 大多数情况下,它只在我们第一次上传项目时使用。在那之后拉是更好的选择。
Git 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拉<远程> <分支> <=>
获取远程分支 合并当前本地分支和远程分支(如果本地分支存在)