曾犯过一个错误:
clone到本地的代码,平时只用master分支,所以只在master分支上更新本地的代码,之前搞不清本地库和github上的库的关系,不明白远程分支的含义;比如线上新建了一个分支”release_Aug_01”,我不知道如何把git的远程分支同步到本地的分支,只是发现在本地checkout 到某个远程分支提示我没有这个分支,我不知道通过git fetch origin获取远程分支,就只好在本地新建了和远程分支同名的分支,然后checkout到新建的分支,再把远程的分支merge到本地;当时这样做好像没出问题。不过这样做应该就是每次都需要通过git merge来更新远程代码
正确的做法是,在本地执行git fetch origin,命令把远程分支的更新同步到本地,这样本地就有远程的分支了,然后check到要开发的分支,就可以开发了,和在master上一样的
查了一些git fetch的资料:
git fetch 参考网址:http://git-scm.com/docs/git-fetch
git fectch常用的四种用法:(以下来源于https://ruby-china.org/topics/4768)
git fetch:
这一步执行了两个关键的操作:创建并更新本地远程分支;设定当前分支的FETCH_HEAD为远程服务器的master分支上
git fetch origin:
和git fetch一样,只不过手动指定了remote
git fetch origin branch1
设定当前分支的FETCH_HEAD为远程服务器的branch1分支,这个命令不会在本地创建本地远程分支,但是可以用来测试远程主机的远程分支branch1是否存在,如果存在返回0,失败就返回128错误码
git fetch origin branch1:branch2
首先执行fetch操作,使用远程branch1分支在本地创建branch2(但不会切换到该分支),如果本地不存在branch2分支就会自动创建一个新的branch2分支,如果本地存在branch2分支,并且是fast forward,则自动合并两个分支,否则,会阻止以上操作,
git fetch origin :branch2
等价于git fetch origin current_branch:branch2.
fetch的关键是FETCH_HEAD指的是,某个branch在服务器上的最新状态
每一个执行过fetch操作的项目都会存在一个FETCH_HEAD列表,这个列表保存在.git/FETCH_HEAD文件中,其中每一行对应于远程服务器的一个分支。当前分支指向的FETCH_HEDAD就是这个文件第一行对应的那个分支;所以你可以在当前分支查看FETCH_HEAD文件,就可以知道当前分支对应的远程分支了
- 浏览: 15902 次
最新评论
-
漂洋过海来看你:
linux命令 -
chengyuanheng:
Though I can not use cucumber b ...
cucumber 测试基础方法
相关推荐
Git pull 和 Git fetch 命令的理解与区别 在 Git 版本控制系统中,git pull 和 git fetch 是两个常用的命令,它们都用于从远程仓库获取最新的代码版本,但是它们之间存在着一定的区别。 首先,让我们从基础开始,...
在使用Git进行版本控制时,有时会遇到一些操作因文件权限问题而无法顺利完成,比如在执行`git fetch`命令时遭遇失败。这个问题通常出现在不同用户或组之间对Git仓库文件的访问权限不匹配的情况下。本文将详细介绍...
### Git pull命令与fetch命令的区别 #### 一、引言 在版本控制工具Git中,开发者经常需要从远程仓库获取最新的代码更新至本地仓库。这一过程中,`git pull` 和 `git fetch` 是两个最常用的命令。虽然它们都能实现...
其中,`git fetch` 和 `git pull` 是两个经常被使用的命令,但它们在使用上有显著的区别。这篇文章将详细解析这两个命令的区别。 首先,`git fetch` 命令的作用是获取远程仓库的最新变化,但它不会自动合并到你的...
除了上述命令,还有一些常用的辅助命令,如`git fetch`(获取远程仓库的最新改动但不合并)、`git pull`(相当于`git fetch`+`git merge`)、`git stash`(暂存未完成的工作,方便切换分支)等。 了解并熟练掌握...
- `git fetch`:仅获取远程仓库的更新,不自动合并。 - `git push`:将本地分支的改动推送到远程仓库。 6. 查看历史与回退: - `git log`:显示提交历史。 - `git diff <commit1> <commit2>`:比较两个提交之间...
- 获取远程仓库的更新:`git fetch [远程仓库名]` - 推送本地仓库到远程仓库:`git push [远程仓库名] [分支名]` - 从远程仓库抓取最新内容并合并:`git pull [远程仓库名] [分支名]` 6. 标签操作 - 给当前分支...
- `git fetch`:只获取远程仓库的更新,不自动合并。 - `git push`:将本地更改推送到远程仓库。 了解并熟练掌握这些Git命令,可以帮助开发者更高效地管理和协作项目。HTML文档和PNG脑图可以作为视觉辅助工具,...
如果你已经添加了一个远程仓库,可以通过`git fetch [远程仓库别名]`命令拉取远程仓库的最新信息,但不会自动合并到本地仓库。 ##### 克隆远程仓库 如果你想从远程仓库克隆一份最新的代码到本地,可以使用`git ...
- `git fetch <remote>`:从远程仓库下载更新但不合并到当前分支。 - `git pull <remote> <branch>`:从远程仓库下载更新并直接合并到当前分支。 - **功能**: 从远程仓库获取最新的变更。 - **用途**: 保持本地...
5. 当需要从远程仓库获取最新的代码时,可以执行git fetch或git pull命令,前者仅获取更新但不合并到当前分支,后者则会自动合并。 6. 在团队协作中,如果需要向远程仓库推送本地的更改,可以使用git push命令,将...
7. 获取最新远程分支代码:使用 `git fetch [remotename]` 命令可以获取最新的远程分支代码。例如,使用 `git fetch korg` 可以获取 korg 远程分支的最新代码。 8. 重新定位:使用 `git rebase [remotename/remote...
以下是一些关于如何配合Git flow流程使用的Git操作命令的详细说明: 1. **初始化Git flow** 在开始使用Git flow前,需要先安装git flow工具,然后在项目根目录下运行`git flow init`初始化。初始化时,你需要指定...
9. **远程操作**:`git remote`管理远程仓库的链接,`git fetch`和`git pull`用于获取远程仓库的更新,`git push`则将本地更改推送到远程仓库。 10. **标签管理**:`git tag`用于添加、查看和删除标签,常用于标记...
`git pull`实际上执行了两个操作:`git fetch`(获取远程仓库的更新)和`git merge`(合并新获取的分支)。 除此之外,还有一些常用的Git命令。例如,`git log`显示提交历史,`git diff`比较文件或快照的差异,`git...
另外,`git pull`命令通常结合`git fetch`一起使用,它不仅获取远程更新,还会尝试合并到本地分支,但`gitfetch`工具主要关注的是获取更新,而不是合并。 总的来说,`git自动更新远程仓库工具`通过`gitfetch`简化了...
- `git fetch`只获取远程仓库的更新,不自动合并。 7. **解决冲突**: 当多人同时修改同一文件时,可能会发生冲突。`git diff`可以查看冲突内容,手动编辑冲突文件后,使用`git add`和`git commit`完成冲突解决。...