git fetch
git fetch 可以把远程仓库里的东西下载到本地。
git fetch 远程 分支
练习
1,在本地的 ninghao-git 目录下面做点修改,提交以后,再推送给远程仓库。比如修改一下 README.md,内容如下:
# Git :)
一本关于 Git 的书。
## 流程
## 分支
---
by ninghao.net
做一次提交:
git commit -am '在说明文档里添加“分支”章节'
推送给远程:
git push
返回:
Counting objects: 3, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (3/3), done.
Writing objects: 100% (3/3), 384 bytes | 0 bytes/s, done.
Total 3 (delta 1), reused 0 (delta 0)
remote: Resolving deltas: 100% (1/1), completed with 1 local object.
To github.com:ninghao/ninghao-git.git
e0efae3..f4b6009 master -> master
打开远程仓库页面,观察项目的 commits ,你会发现刚刚推送上来的一个提交。
2,现在换个身份,我假装自己是小雪,在介绍 git clone 的时候,我已经把 ninghao-git 这个项目克隆下来了,放在一个叫 xiaoxue-git 的目录里。进入到这个目录,查看历史:
cd ~/desktop/xiaoxue-git
git log --oneline
最近几条提交:
e0efae3 为仓库文档添加一段描述
2d49d40 添加仓库文档的大标题
35e1941 添加介绍 Git 仓库的文档
3,练习 git fetch。假装我还是小雪,我要用 git fetch,下载刚才推送到远程的新的提交,执行:
git fetch origin master
返回:
remote: Counting objects: 3, done.
remote: Compressing objects: 100% (2/2), done.
remote: Total 3 (delta 1), reused 3 (delta 1), pack-reused 0
Unpacking objects: 100% (3/3), done.
From https://github.com/ninghao/ninghao-git
* branch master -> FETCH_HEAD
e0efae3..f4b6009 master -> origin/master
git fetch 把远程 master 分支上的新东西下载到了本地,默认这些新东西会在本地的远程分支上,在这里这个分支应该是 origin/master。查看本地上的远程分支,执行:
git branch -r
返回:
origin/HEAD -> origin/master
origin/master
查看远程分支 origin/master 的历史,执行:
→ git log origin/master --oneline
返回:
f4b6009 在说明文档里添加“分支”章节
e0efae3 为仓库文档添加一段描述
2d49d40 添加仓库文档的大标题
你会发现,在本地上的远程分支 origin/master 上,有新做的提交 在说明文档里添加“分支”章节,说明刚才我们已经成功的用 git fetch,把远程上的新东西下载到本地了。
4,合并远程分支。现在要把本地远程分支上的东西合并到本地 master 分支上。
git checkout master
git merge origin/master
查看 master 的历史,现在会是:
→ git log --oneline
f4b6009 在说明文档里添加“分支”章节
e0efae3 为仓库文档添加一段描述
2d49d40 添加仓库文档的大标题
在本地 master 分支上,已经包含了从远程那下载下来的提交了。