`
Teok
  • 浏览: 150174 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

碰到的Git/Repo问题及其解决方法

阅读更多
1.Repo upload时出现的missing blob问题解决方法
错误信息:

28850466@cnbjlx3976:~/upload/vendor/opps$ repo upload .
Upload project vendor/opps/:
  branch newupload ( 1 commit, Mon Apr 11 17:24:52 2011 +0800):
         ccb50c67 Update seekbar layout as to like music application
to review.me.net (y/n)? y
Counting objects: 1422, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (580/580), done.
Writing objects: 100% (1250/1250), 12.11 MiB | 1.70 MiB/s, done.
Total 1250 (delta 564), reused 1087 (delta 457)
fatal: Unpack error, check server log
error: unpack failed: error Missing blob c107a14782ddbb133fb5cff1d1f0e042e6ed0970
To ssh://me@review.me.net:29418/platform/vendor/opps
! [remote rejected] newupload -> refs/for/ginger-dev (n/a (unpacker error))
error: failed to push some refs to 'ssh://me@review.me.net:29418/platform/vendor/opps'

--------------------------------------------
[FAILED] vendor/opps/ newupload        (Upload failed)


错误原因大概是因为本地索引坏了。解决步骤如下:
$git gc
$git pull --rebase
$repo upload .



2.git branch -r

3.当我cherry-pick了一个别的分支的topic到我当前branch,发现有很多冲突,但是呢,这个冲突我还不能确定如何merge,所以我想先不管这个topic,先去处理别的topic。这时就需要将现有分支恢复到之前最初状态,用一下命令:
$git reset --hard


4.新建立一个branch之后,有时候要从别的branch cherry-pick一些topic过来。gerrit上都提供每个change的cherry-pick地址。但是要注意的是,当这样cherry-pick过来的change,是完全的cherry-pick,不仅包含代码改动,也包含commit message.
当cherrypick过来的代码,如果要作为新的commit,就千万千万要记住删掉commit message中的Change-Id(是一个40为的sha字符串)那一行,要不就会提交到原有的change上去。一旦提交到原有的change上去之后,是不能删除的,如果你提交的还跟原有分支上的不一样那就惨了,就得像我一样把老的分支(譬如你的提交产生了path15,那么你就要把patch14的代码下载下来)的代码再cherrypick过来,然后修改成跟patch14一样的,再提交。。
0
1
分享到:
评论
1 楼 louisliao 2017-03-13  
你好请问你有遇到 repo upload 每次都要求输入用户名和密码问题吗?

相关推荐

    git/repo流程表

    Git/Repo的工作流程, 供有需要的小伙伴们使用. 程序猿必备.

    repo,解决fatal: Cannot get https://gerrit.googlesource.com/git-repo

    18年7月更新,清华镜像,完美解决 Yocto,Android fatal: Cannot get https://gerrit.googlesource.com/git-repo/clone.bundle 错误,绕开GFW

    git+repo+gerrit代码服务器搭建

    1. 下载 Repo 的配置文件:使用 `git clone http://gerrit.googlesource.com/git/repo.git` 下载 Repo 的配置文件。 2. 配置 Repo:使用 `vim /etc/sv/git-daemon/run` 配置 Repo,以便启动 Git 守护进程。 启动 ...

    Git_和repo扫盲

    curl http://android.git.kernel.org/repo > ~/bin/repo chmod a+x ~/bin/repo ``` ##### 初始化版本库 要获取Android主线的最新源代码,首先创建一个空目录,例如`~/android`,然后使用`repoinit`命令初始化版本...

    git-repo 2015/04/28版本

    Git Repo是Google开发的一个工具,它不是Git的一部分,但与Git紧密相关,主要用于管理多个Git仓库。这个"git-repo 2015/04/28版本"可能包含了该日期更新的Repo源码或者相关文档。在本文中,我们将深入探讨Git和Repo...

    完整repo-project

    15年6月更新,完整的repo-project,完美解决fatal: Cannot get https://gerrit.googlesource.com/git-repo/clone.bundle 错误,绕开GFW,详细请参考我的博客《完美解决repo init 错误 fatal: Cannot get ...

    git-repo.git.rar

    sudo cp repo /usr/bin/repo_gitadmin 修改 repo vi /usr/bin/repo_gitadmin 修改 REPO_URL = 'https://gerrit.googlesource.com/git-repo' REPO_REV = 'stable' 为 REPO_URL = /home/gitadmin/gitCfg/git-repo.git...

    git-repo-0.7.3.1-Windows-64.zip

    以下是关于Git Repo及其相关知识点的详细说明: 1. **Git**: Git 是一个分布式版本控制系统,由Linus Torvalds为Linux内核开发,旨在提高代码的协作效率和追踪历史变更。Git的核心特性包括分支管理、合并操作、快照...

    多git版本管理-repo

    • 从高通或google下载代码是通过repo下载的,是由repo管理的266个git组成的 • l现在使用的git库是将由repo管理266个小git合并成一个git库导入 • 目前导入的repo是将项目定制化的内容取出,拆成由repo管理45个小...

    repo命令行工具,git-repo,可管理和克隆多个git库。

    repo,命令行工具,对Git部分命令封装,对多个Git库有效的进行组织。能够进行克隆和管理多个Git库。下载Android,yocto等必要工具。2020/8/10下载,比较新的,...https://storage.googleapis.com/git-repo-downloads/repo

    googleapis的repo工具

    原地址:http://commondatastorage.googleapis.com/git-repo-downloads/repo,不方便的可以在这里下载

    Git和Repo扫盲.pdf

    通过本文对 Git 和 Repo 的基础介绍及其在 Android 源代码管理中的实际应用,希望能帮助读者更好地理解这两种工具的使用方法和优势所在。在未来的工作实践中,灵活运用 Git 和 Repo 将能显著提升工作效率和代码质量...

    解决fatal:remote error:You can’t push to git://github.com/username/*.git问题的办法

    解决fatal:remote error:You can’t push to git://github.com/username/*.git问题的办法 今天Git push的时候 fatal:remote error: You can't push to git://github.com/username/*.git Use git@github....

    git-repo.zip

    "git-repo.zip"这个文件很可能包含了谷歌官方的Git仓库管理工具repo。Repo是一个为了简化Android平台开发而创建的辅助脚本,它封装了Git的一些常用操作,使得在处理多个Git仓库时更为便捷。 Repo并不是Git的一部分...

    Git和Repo扫盲——如何取得Android源代码 - William Hua的Blog

    curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo chmod a+x ~/bin/repo ``` 接下来,我们需要配置Git环境,包括用户名和邮箱,这将在提交代码时用到: ```bash git config --global ...

    git-repo-stable.zip

    理解如何通过查看日志和调试信息来解决问题是至关重要的。 9. **协作与贡献**:如果你打算对Android源代码做出贡献,那么理解如何创建Pull Request或Change Set,并通过Repo将它们推送到上游仓库是很重要的。 10. ...

    git + repo 下载

    git + repo 管理 需要时能用到

    repo与配套git-repo

    本文将深入探讨Repo及其配套的Git-Repo工具,帮助读者理解这两个工具的核心概念和实际应用。 【描述】:“Repo是一个Python脚本集合,它用于简化和增强Git在Android项目中的使用。Git-Repo则是一个用于处理Repo元...

    gradle-git-repo-plugin, 使用 private git repo 作为存储库.zip

    gradle-git-repo-plugin, 使用 private git repo 作为存储库 Gradle Git repo-插件这个插件允许你将git存储库添加为 Maven repo,即使git存储库是 private的,类似于CocoaPods的工作方式。使用 github repo 作为 ...

    git-repo.tar.gz

    Repo是Google建立在Git之上的资源库管理工具。 必要时,Repo会统一许多Git存储库,上传到修订控制系统,并自动化部分开发工作流程。 回购并不意味着取代Git,只是为了更容易在多个存储库的环境中使用Git。 repo命令...

Global site tag (gtag.js) - Google Analytics