都学到 fetch 和 pull ,想必你已经了解了“分支”的概念,很简单,如果还不了解分支请自行查找学习。
GIT FETCH
理解 git fetch 的关键是理解 FETCH_HEAD
FETCH_HEAD 👇
解释:某个分支(branch)在服务器上的最新状态。
两种情况
- 如果没有显示指定远程分支,远程分支的 master 将作为默认的 FETCH_HEAD
例如:git fetch origin 或 git fetch origin master - 如果已指定远程分支,则将这个远程分支作为 FETCH_HEAD
例如:git fetch origin dev 设定当前分支的 FETCH_HEAD 为远程服务器的 dev 分支。它就相当于 git pull origin dev 的第一步,并不会在本地创建新的分支。另外 git fetch origin dev 这个命令可以用来测试远程分支 dev 是否存在。
git fetch origin dev :branch1
上面这个命令的执行过程如下
首先执行上面的 fetch 操作
使用远程 dev 分支在本地创建 branch1 分支(但不会切换到该分支)
如果本地不存在 branch1,则会自动创建一个新的 branch1 分支,如果存在branch1,并且是 fast forward,则会自动合并这2个分支,否则会阻止以上的操作
网友评论