git fetch 命令用于从远程获取代码库。
本章节内容我们将以 Github 作为远程仓库来操作,所以阅读本章节前需要先阅读关于 Github 的相关内容:Git 远程仓库(Github)。
该命令执行完后需要执行 git merge 远程分支到你所在的分支。
从远端仓库提取数据并尝试合并到当前分支:
git merge
该命令就是在执行 git fetch 之后紧接着执行 git merge 远程分支到你所在的任意分支。
假设你配置好了一个远程仓库,并且你想要提取更新的数据,你可以首先执行:
git fetch [alias]
以上命令告诉 Git 去获取它有你没有的数据,然后你可以执行:
git merge [alias]/[branch]
以上命令将服务器上的任何更新(假设有人这时候推送到服务器了)合并到你的当前分支。
以我的 https://github.com/liqiang88/runoops-git-test.git 为例。
在main 分支上创建一个分支develop:
$ git checkout -b develop
Switched to a new branch 'develop'
在develop 分支中添加index.php文件,如图:
提交并push到远程:
$ git add .
$ git commit -m "add index file"
g[develop 0b2e1ee] add index file
1 file changed, 3 insertions(+)
create mode 100644 index.php
$ git push -u origin develop
Enumerating objects: 4, done.
Counting objects: 100% (4/4), done.
Delta compression using up to 6 threads
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 311 bytes | 311.00 KiB/s, done.
Total 3 (delta 0), reused 0 (delta 0), pack-reused 0
remote:
remote: Create a pull request for 'develop' on GitHub by visiting:
remote: https://github.com/liqiang88/runoops-git-test/pull/new/develop
remote:
To github.com:liqiang88/runoops-git-test.git
* [new branch] develop -> develop
Branch 'develop' set up to track remote branch 'develop' from 'origin'.
切换到main 分支:
$ git checkout main
Switched to branch 'main'
Your branch is up to date with 'origin/main'.
将远程的develop 分支合并到当前分支:
$ git merge origin/develop
Updating 1f65dce..0b2e1ee
Fast-forward
index.php | 3 +++
1 file changed, 3 insertions(+)
create mode 100644 index.php
查看index.php 内容:
$ cat index.php
<?php
echo 'Hello runoops git test';
?>