如何用repo强制和远程代码同步

Android ROM开发经常使用repo sync。有时候有些project因为调试的原因做了一些改动,sync下来就和远程不同步了。
参考了repo的代码(.repo/repo/subcmds/sync.py)里有个参数:

p.add_option(‘-d‘, ‘--detach‘,
             dest=‘detach_head‘, action=‘store_true‘,
             help=‘detach projects back to manifest revision‘)

repo sync -d会将HEAD强制指向manifest的库,而忽略本地的改动。

所以比较安全的做法是
先确认本地改动没必要保存了,确认之前不妨用分支备份一下(git checkout -b backup_branch; git add -u; git commit)
或者用笨办法,直接用cp备份一下,然后:

repo sync -d
repo forall -c ‘git reset --hard‘    # Remove all working directory (and staged) changes.
repo forall -c ‘git clean -f -d‘     # Clean untracked files

这样,本地代码和远程服务器的代码就完全一致了

参考链接:usage for “repo sync -d” in Android source repository

时间: 2024-09-30 05:24:19

如何用repo强制和远程代码同步的相关文章

Android的代码同步repo

在工作中的经常使用repo命令,但是有时会忘记一些命令和遇到的一些问题,记录下来方便已经查询. 常见问题: 问题1:找不到命令:repo 方法: 在下载android源码的时候用repo时提示找不到命令,可以用如下方法解决,在命令行中输入如下两行: echo 'export PATH=$PATH:$Home/bin' >>~/.bashrc export PATH=$PATH:$HOME/bin 问题2: /home/xxxxxx/bin/repo: line 1: 在未预料的"ne

git命令行提交并且同步到远程代码库

远程代码库以github为例 1.打开 git bash 2.进入项目目录 cd /e/myGitProjects/test 3.提交到本地git仓库 git commit -m '测试提交' -m : message 4.同步github远程仓库 git push origin master 原文地址:https://www.cnblogs.com/gaobing/p/8533878.html

python环境搭建-pycharm远程环境代码同步配置

一. pycharm与虚拟机链接.代码同步配置 1.创建新的工程,按照如下标红步骤,选择远程虚拟机python解释器 2.配置远程虚拟机连接信息,远程虚拟机解释器路径 3.配置远程虚拟机代码存放目录 原文地址:https://www.cnblogs.com/cool2005/p/10549725.html

强制使用远程库的代码覆盖本地的代码

如果你在idea拉取项目代码拉取失败,而且你也不需保存本地修改.或者说,你的本地并没有做任何的修改,你可以通过以下的做法来强制覆盖本地的代码 1.打开idea的termimal,可以进行git命令的输入 2.强制覆盖本地代码 git fetch --all git reset --hard origin/所在分支名 git pull 2.git fetch和git pull的区别 git fetch: 将远程代码更新到本地,用户检查后合并 git pull: 将远程代码更新到本地,自动合并. g

Git暂存本地代码,强制获取远程最新代码

一:git stash  // 把本地修改的代码压到git栈中去 二:git pull  // 本地代码压栈之后,pull远程代码会完全覆盖本地代码 三:git stash list  // 可以查看栈中的信息 四:git stash clear // 如果确定舍弃本地代码,完全使用远程代码,可以把栈清空 五:git stash pop  // 如果本地修改由于冲突拉不下来远程代码,只是先把远程代码拉下来,再去合并本地代码,可以先拉下来再git stash pop手动合并代码解决冲突 总结: ①

Linux的rsync远程数据同步工具

Rsync(remote synchronize) 是一个远程数据同步工具,可以使用"Rsync算法"同步本地和远程主机之间的文件. rsync的好处是只同步两个文件不同的部分,相同的部分不在传递.类似于增量备份, 这使的在服务器传递备份文件或者同步文件,比起scp工具要省好多时间. OS:ubuntu server 10.04 server:192.168.64.128 client:192.168.64.145 server 1.ubuntu  server 10.04默认已安装r

使用Git和远程代码库

git是个了不起但却复杂的源代码管理系统.它能支持复杂的任务,却因此经常被认为太过复杂而不适用于简单的日常工作.让我们诚实一记吧:Git是复杂的,我们不要装作它不是.但我仍然会试图教会你用(我的)基本的Git和远程代码库干活的工作步骤,在15分钟内. 工作步骤 我会展示以下的步骤,通常能帮我独自在一台或多台机器上做项目. 创建一个远程的空代码库(在BitBucket上) 在本地代码库添加一个项目 在分支上开发新功能 a) 保留新功能 或者 b) 丢弃它们 也许,回到某个早先的时间点 将本地代码库

vagrant rsync-auto 代码同步失败报错:UndefinedConversionError

今天使用vagrant ,代码同步:vagrant rsync-auto 发现代码同步失效了,几次重启之后发现启动报错: 有点疑惑,因为1h之前还同步过修改的代码,现在突然报错,目前仍然不明原因(这1h之内没有做过任何编码设置/修改的操作,仍然诡异,留待大神研究吧~)以下直接说重点 报错的原因: vagrant的源码使用Ruby实现的,Ruby 转码的方法:encode 有转码兼容,GBK转码为UTF-8不兼容,所以报错,报错行的源代码: data << io.readpartial(READ

使用命令创建github代码仓库,push本地仓库到github远程代码仓库

1.利用命令创建github远程代码仓库 在将本地代码push到github远程代码仓库之前,总是需要新建github代码仓库,在将本地仓库关联到github远程仓库.其中最为繁琐的操作是建立github代码仓库,需要进入github的网站进行操作,不能借助命令来简化操作,十分繁琐. 借助github提供的api,在.bashrc或者.zshrc文件中定义函数,可以利用命令在github上创建代码仓库,十分便捷. 首先需要进入github,申请并获取自己的api token,用于鉴权,地址在这.