我在feat分支执行`git fetch`,请问下: 会fetch master和feat的新增的commit吗?还是只会fetch当前分支feat的新增的commit?

Viewed 9

我在feat分支执行git fetch,请问下: 会fetch master和feat的新增的commit吗?还是只会fetch当前分支feat的新增的commit?

2 Answers

就单单是

git fetch
后面没有加任何参数的话是会把所有branch的commit都fetch的

如果要获取指定远程仓库的更新:

git fetch <remote_repository_name>
如果要获取指定远程仓库的特定分支更新:

git fetch <remote_repository_name>/<branch_name>

graph TD
A[本地仓库] --> B[执行 git fetch]
B --> C{下载远程仓库的所有分支新提交}
C --> D[更新 origin/master 引用]
C --> E[更新 origin/feat 引用]
C --> F[更新其他远程分支引用]

D --> G[远程提交已下载到本地仓库]
E --> G
F --> G

G --> H{本地工作区是否更新?}
H -->|否| I[工作区代码不变]
H -->|需要更新| J[使用 git merge 或 git rebase]

J --> K[git merge origin/feat]
J --> L[git rebase origin/feat]

K --> M[工作区代码更新]
L --> M

N[一步到位: git pull] --> O[相当于 git fetch + git merge]