git

Git 常用命令 pull、cherry-pick、fetch 有什么区别?

掌握了就非常的方便

Posted by 叉叉敌 on May 6, 2022

Cherry-pick

使用场景:假设您正在与一组开发人员一起开发一个中型到大型的项目。由另一个团队成员提出的一些更改,您希望将其中的一些更改应用于您的主项目,而不是全部。因为管理几个 Git 分支之间的更改可能成为一项复杂的任务,您不希望将整个分支合并到另一个分支中。你只需要选择一个或两个特定的commit。从其他分支中挑选一些变更到您的主项目分支中,这被称为“cherry-pick”。

语法 git cherry-pick commit_id

Fetch

Git fetch 是一个命令,它告诉本地 git 从原始数据中检索最新的元数据信息(但不进行任何文件传输),这更像是检查是否有任何可用的更改)

XA15iz

语法: git fetch< repository Url>

  • 也可以指定分支名称git fetch <branch URL><branch name>
  • 或者是所有的分支git fetch -all

Pull

先fetch,更改并将它们merge到同名的本地分支中。

git pull可以实现并从远程存储库中复制那些更改,有一个merge的动作. 实际 git pull = git fetch + git merge.

用法最也简单git pull <option> [<repository URL><refspec>...]l

小结

git fetch git pull cherry-pick
只从远程存储库中下载新数据 用于使用来自远程最新更改更新本地当前的 HEAD 分支  
用于获取远程存储库中发生的所有事情的新的信息 下载新的数据,并直接集成到您当前的工作,merge文件 拉取并把改commit置位第一个
从不操纵或破坏数据 拉下载数据并将其与当前工作文件merge 会merge文件
代码不受合并冲突的影响 有代码冲突,肯定会受到merge conflict 有代码冲突,肯定会受到merge conflict
最好使用 git fetch 命令和 git merge 命令对一个已pull的存储库进行操作 有了仓库,建议不要这么用 有了仓库,建议不要这么用

这个网站的介绍非常好,也写的非常的详细,包括一些常见的使用场景都提到了.

https://w3cschoool.com/git-fetch

read more

https://blog.osteele.com/2008/05/my-git-workflow/

https://w3cschoool.com/git-cherry-pick