Git pull 和 Git fick 之间有什么区别?
当前回答
人们必须牢记 git 的性质。 您有远程和本地分支( 不一定相同 ) 。 与其他源控制系统相比, 这可能会有点令人困惑 。
通常当您检出远程时,会创建本地副本,跟踪远程。
gitreach 将会与远程分支合作并更新您的信息 。
实际上,如果其他SWES同一个部门工作,就属于这种情况,而小型项目----一个部门----一个项目设想方案的情况很少。
您对本地分支的工作仍然完好无损 。 为了将更改带回您的本地分支, 您必须合并/ 重订远程分支的更改 。
git拉动正好就是这两个步骤(即 -- -- rebase to rebase rebase 而不是合并)
如果您的本地历史和远程历史有冲突, 您将被迫在一小块按键发布您的更改时进行合并 。
因此,这真正取决于你的工作环境的性质和使用经验。
其他回答
回报 :
谈到上述答案中的拉动和取回,我想分享一个有趣的把戏,
git Pull -- rebase
以上命令是我生命中最有用的命令 挽救了很多时间
在将您的新承诺推进到服务器之前, 请尝试此命令, 它会自动同步最新的服务器更改( 加上一个抓取 + 合并) , 并将您的承诺放在 Git 日志的顶部 。 无需担心手动拉动/ 合并 。
详情见:http://gitolite.com/git-pull-rebase
git pull = git fetch + git merge
获取获取
git 获取实际上只从远程仓库下载新数据 - 但它没有将任何新数据整合到您的工作文件中。 获取对于获取远程仓库中发生的所有事物的新视图来说是件好事。 由于它具有“ 无害” 的性质, 您可以放心: 获取永远不会操作、 破坏或破坏任何东西 。
拉,拉,拉,拉
相比之下, git pull 用于不同的目的: 以远程服务器的最新更改更新您当前的 HEAD 分支。 这意味着不仅下载新数据, 还会直接将其整合到您当前的工作副本文件中 。
用最简单的术语来说, git pull 是一个 Git 抓取, 然后是 git 合并 。
git 在 refs/ remotes/ <remote> / 下获取远程跟踪分支的更新。 此操作随时可以安全运行, 因为它不会在 refs/ head 下更改您的本地分支 。
git 拉动使当地的一个分支能够更新其远程版本,同时更新其他远程跟踪分支。
Git Pull 的 Git 文档 :
git pull 运行 git 获取带有给定参数的 Git 抓取, 然后根据配置选项或命令行旗帜, 将调用 git 重新基准或 Git 合并以调和不同的分支 。
git-pull - Fetch from and merge with another repository or a local branch SYNOPSIS git pull … DESCRIPTION Runs git-fetch with the given parameters, and calls git-merge to merge the retrieved head(s) into the current branch. With --rebase, calls git-rebase instead of git-merge. Note that you can use . (current directory) as the <repository> to pull from the local repository — this is useful when merging local branches into the current branch. Also note that options meant for git-pull itself and underlying git-merge must be given before the options meant for git-fetch.
如果你想要合并历史,你会拉拉, 你会拉拉,你会拉拉拉,如果你只是"想要的cotz" ,因为有人一直在标记 一些文章在这里。