Git pull 和 Git fick 之间有什么区别?
当前回答
Git使用两个命令从远程到本地获取最新版本的分支 :
git 获取 : Git 会从远程获取最新版本到本地版本, 但不会自动合并 。 git 获取来源母版 master git log -p master. 来源/ master git 合并来源/ master 。 上面的命令意味着从远程下载主分支的最新版本, 从原始到来源母分支。 然后比较本地主分支和源母母分支。 最后, 合并 。 git pull : Git 会从远程获取最新版本并合并到本地 。 git pull 源母版 。 上面的命令相当于 git 获取和 git 合并 。 在实践中, git 获取可能更安全一些, 因为合并前我们可以看到这些修改并决定是否合并 。
其他回答
使用 git 抓取的一个实例是, 以下会告诉您自上次拉动以来远程分支的任何变化... 这样您就可以在实际拉动之前检查, 这样就可以改变您当前分支和工作副本中的文件 。
git fetch
git diff ...origin
见 git diff 关于双点... 和三点... 语法的文件。
有时视觉表现会有所帮助。
调
重要的是,将设计理论与SVN这种较传统的源控制工具的理论加以对比。
Subversion 是用客户端/ 服务器模型设计和构建的。 服务器是一个单一的仓库, 有几个客户可以从服务器上获取代码, 工作, 然后将其发送到服务器 。 假设客户总是可以在服务器需要操作时与服务器联系 。
Git 的设计是为了支持一个更分散的模型,而不需要一个中央存储库(尽管如果您愿意,您肯定可以使用一个)。 Git 的设计也是为了让客户和“服务器”不必同时上网。 Git的设计是为了让不可靠的链接上的人可以通过电子邮件交换代码,甚至可以。可以完全断开工作,烧掉CD,通过 git 交换代码。
为了支持此模型 git , 维持一个包含您的代码的本地仓库, 以及一个反映远程仓库状态的附加本地仓库。 通过保存远程仓库的副本, git 可以在本地找到所需的更改, 即使远程仓库无法到达 。 稍后当您需要将更改发送到其他人时, git 也可以从远程仓库已知的时间点将其转换为一组更改 。
Gitfreating是命令 上面写着"把我的远程仓库的本地副本更新到最新" git pull 说"把远程仓库的更改 传送到我自己的代码所在的地方"
通常情况下, git pull 将远程仓库的本地副本更新, 然后将更改合并到您自己的代码存储处, 并可能合并到您的工作副本 。
转移是记住您工作站上的项目通常至少有三个副本。 一个副本是您自己的存储库, 并有您自己的执行历史。 第二个副本是您编辑和构建的工作副本。 第三个副本是您本地的远程存储库“ 隐藏” 副本 。
初学者的简单图形化代表,
调
在这里,
git pull
将会从仓库获取代码 并重新基础与您的本地... 在git拉动中,有 可能性创造新的承诺。
但是在,
git 获取 git 获取
将会从存储库获取代码, 我们需要使用 Git 重新基准来手动重标
eg: 我要从服务器主机取回它, 并在本地主机重标 。
1) git pull( 重基将自动完成) :
git pull origin master
这里的起源是您的远程回购主人 您的分支是您的远程回购主人
2) git 获取( 需要手动重标) :
git fetch origin master
它会从源代码中获取服务器更改。 它会位于本地, 直到您自己重新定位它。 我们需要通过检查代码手动来修正冲突 。
git rebase origin/master
这将会将代码重设为本地代码。 在确保您在正确的分支之前。
Git pull 和 Git fick 之间唯一的区别是:
git 拉从远程分支拉拉并合并。
git 只从远程分支获取从远程分支获取的抓取, 但不会合并
i. e. git pull = git 获取 + git 合并...
推荐文章
- 为什么我需要显式地推一个新分支?
- 如何撤消最后的git添加?
- Rubymine:如何让Git忽略Rubymine创建的.idea文件
- Gitignore二进制文件,没有扩展名
- Git隐藏错误:Git隐藏弹出并最终与合并冲突
- 了解Git和GitHub的基础知识
- 没有。Git目录的Git克隆
- Git与Mercurial仓库的互操作性
- 忽略git中修改(但未提交)的文件?
- “git restore”命令是什么?“git restore”和“git reset”之间有什么区别?
- Git合并与强制覆盖
- Git拉另一个分支
- 在Bash命令提示符上添加git分支
- 如何更改Git日志日期格式
- git pull -rebase和git pull -ff-only之间的区别