曾犯过一个错误:
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文件,就可以知道当前分支对应的远程分支了
- 浏览: 15184 次
最新评论
-
漂洋过海来看你:
linux命令 -
chengyuanheng:
Though I can not use cucumber b ...
cucumber 测试基础方法
相关推荐
最近在工作中遇到一个问题,就是在在一个基于 git 的发布系统中拉取代码,发现无法拉取最新的提交记录,查找相关资料发现是因为文件权限的问题,所以这篇文章主要介绍了关于解决因文件权限导致git fetch命令执行失败...
Git pull命令与fetch命令的区别 今天在公司碰到个问题,公司不使用master分支作为主分支,而使用release分支作为主分支,这就碰到了个问题,也就是当clone一个项目下来的时候,如果master跟release分支有冲突,就不...
git视频教程.5.1.Git 命令 - git fetch.mp4 git视频教程.5.2.Git 命令 - git pull.mp4 git视频教程.5.3.Git 命令 - git push.mp4 git视频教程.5.4.Git 命令 - git remote.mp4 git视频教程.5.5.Git 命令 - git ...
When you git<tab><tab> add cherry diff instaweb rebase show-ref am cherry-pick fast-export log relink st annotate ci fetch los
git repack设置远程GIT git init git add . git status git commit -m "First commit" git ... git fetch -- all 删除未跟踪的文件git clean -f -d 重置分支/文件git reset --hard origin/master强制放弃本地更改
git-info概要git-info-显示有关Git信息库的信息,如`svn info'如何设置只需将这些脚本放在PATH的目录之一中...infoRemote Repositories:origingit@github.com:knu/git-info.git (fetch)origingit@github.com:knu/git-i
Git基本操作流程-命令版,最后附了两个问题:1.git fetch 和 git pull 有什么区别? 2.在git前台页面和命令端显示的不一致问题
git常用命令总结 分布式相比于集中式的最大区别在于开发者可以提交到本地,每个开发者通过克隆(git clone),在本地机器上拷贝一个完整的Git仓库。 如图1所示是经典的git开发过程。 图1 图1 Git的功能特性: 从一般...
日志要获取到存储库中的提交的列表,可以使用以下任何一个命令详细生成命令git log此命令生成详细输出非冗长的生成命令git log --oneline此命令生成非详细输出拉git pull该命令可以被视为命令git fetch和git merge的...
5:新建一个分支,把服务器上最新版的代码fetch下来,然后跟自己的主分支合并。 6:生成补丁(patch),把补丁发送给主开发者。 7:看主开发者的反馈,如果主开发者发现两个一般开发者之间有冲突(他们之间...
git-fetch 所有命令都将具有功能签名模式,例如: 有关生成选项和ChildProcess类的定义,请参见文档。 function gitCommand ( arg : String , // a string argument to pass as the main param to git params ...
可视化Git Git是一个非常强大的工具-它可能会令人困惑。...clear =清除历史记录窗格并重置可视化可用的Git命令: git branchgit checkoutgit cherry_pickgit commitgit fetchgit loggit mergegit pullg
Git Hab 日常使用命令总结,包含底层命令 冲突解决 pull push fetch .....................
Git gui(git客户端)64位是免费、开源的分布式版本控制系统,用于Linux内核开发的版本控制工具,GUI的方便快捷,也不用记忆冗杂的命令,这里为大家分享的是Windows下的GIT客户端,有需要的赶快下载吧! Git是简单易学...
该脚本将在 git 项目上运行 git fetch。 之后,如果项目没有任何未提交的更改,将尝试运行 git rebase origin/master ,否则它会忽略 rebase。 请参阅下面部分中的一些。 安装 只需在您的终端中运行: sudo wget ...
Git命令 mkdir git ; cd git && git init git init . git config core.sshCommand " ssh -i /some/where/thekey -F /dev/null " git remote add origin git@github.com:bendows/some-repo.git git fetch git remote ...
fetch origin && git reset --hard origin/master && git clean -f -d 1次提交中所有文件的列表 git ls-tree --name-only -r < commit-ish > Git重置第一次提交 git update-ref -d HEAD 已冲突的所有文件的列表 ...
git repo watcher-ui 用于拉、推、提交、获取命令都在一个应用程序中。 作为 gitHub 应用程序。 写在 Kivy 要求 git+ 看门狗 在 Linux 上安装 pip install -U numpy pip install -U cython pip install -U ...