Git pull
本文最后更新于:2024年9月8日 晚上
Git pull
- git pull 实际上是两个命令合成了一个即 git fetch 和 git merge
- 当我们从来源拉取修改时,先是像 git fetch 那样取回所有数据,然后最新的修改会自动合并到本地分支中。

取回远程仓库的变化,并与本地分支合并
1 | |
- 要取回
origin主机的next分支,与本地的master分支合并,需要写成下面这样。
1 | |
- 如果远程分支(
next)要与当前分支合并,则冒号后面的部分可以省略,上面命令可以简写为。
1 | |
- 上面命令表示,取回
origin/next分支,再与当前分支合并,实质上,这等同于先做git fetch,再执行git merge
允许不同仓库拉取
- 如果合并了两个不同的开始提交的仓库,在新的 git 会发现这两个仓库可能不是同一个,为了防止开发者上传错误,于是就给下面的提示。
1 | |
- 如我在 Github 新建一个仓库,写了 License,然后把本地一个写了很久仓库上传,这时会发现 github 的仓库和本地的没有一个共同的 commit 所以 git 不让提交,认为是写错了
origin,如果开发者确定是这个origin就可以使用--allow-unrelated-histories告诉 git 自己确定。 - 遇到无法提交的问题,一般先 pull 也就是使用
git pull origin master这里的origin就是仓库,而master就是需要上传的分支,因为两个仓库不同,发现 git 输出refusing to merge unrelated histories无法 pull 内容。 - 因为他们是两个不同的项目,要把两个不同的项目合并, git 需要添加一句代码,在
git pull之后,这句代码是在 git 2.9.2 版本发生的,最新的版本需要添加--allow-unrelated-histories告诉 git 允许不相关历史合并。 - 假如我们的源是 origin,分支是 master,那么我们需要这样写
git pull origin master --allow-unrelated-histories如果有设置了默认上传分支就可以用下面代码。
1 | |
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!