目前所知,使用 repo sync 同步远端服务器代码,不能强制覆盖本地修改。如果想要强制覆盖本地修改,可以用 repo forall -c 来执行git丢弃本地修改的命令,git checkout 和 git reset 命令都可以丢弃本地修改。
一般来说,可以使用
git checkout .
命令来丢弃当前目录下的改动,但是实际执行
repo forall -c git checkout .
命令会报错:
$ repo forall -c git checkout .error: pathspec '.' did not match any file(s) known to git.
而使用
repo forall -c 'git reset --hard'
命令不会报错,可以用这个命令来丢弃所有git仓库的本地改动,然后再用 repo sync 命令来同步远端服务器代码。
在实际项目开发时,可能会在本地创建开发分支,这个分支没有关连到服务器分支。我们同步远端服务器代码,可能只是想获取到最新代码。此时,并不想丢弃本地开发分支的改动。
但是上面的 repo forall -c 'git reset --hard' 命令无法区分这种情况,会丢弃开发分支的改动。
目前所知,使用 repo sync 同步远端服务器代码,不能强制覆盖本地修改。如果想要强制覆盖本地修改,可以用 repo forall -c 来执行git丢弃本地修改的命令,git checkout 和 git reset 命令都可以丢弃本地修改。一般来说,可以使用 git checkout . 命令来丢弃当前目录下的改动,但是实际执行 repo forall -c git checkout . ...
//
强制
恢复
代码
到修改前状态
repo
sync -d # 将HEAD
强制
指向manifest的库,而忽略本地的改动。
repo
forall -c ‘
git
reset –hard’ # Remove all working directory (and staged) changes.
repo
forall -c ‘
git
clean -f -d’ # Clean untracked files
//拉
代码
repo
sync -c...
//https://blog.csdn.net/qwaszx523/article/details/54405793
Usage:
repo
forall [<project>...] -c <command> [<arg>...]
repo
forall -r str1 [str2] ... -c <command> [<arg>.....
repo
是
git
仓库管理工具,一般用
repo
sync去更新
代码
,实质上是在每个仓库下执行
git
pull,这样就比较蛋疼了,当你本地有提交的话它会自动帮你merge进去,还装做一切都ok的样子。在被坑了数遍之后,终于发现了这个问题。 彻底的
同步
服务器
代码
$
repo
sync -d
# Remove all working directory (and staged) changes.
特别声明:
本仓库发布的 MyActions 项目中涉及的任何解锁和解密分析脚本,仅用于测试和学习研究,禁止用于商业用途,不能保证其合法性,准确性,完整性和有效性,请根据情况自行判断.
本项目内所有资源文件,禁止任何公众号、自媒体进行任何形式的转载、发布。
sazs34 对任何脚本问题概不负责,包括但不限于由任何脚本错误导致的任何损失或损害.
间接使用脚本的任何用户,包括但不限于建立 VPS 或在某些行为违反国家/地区法律或相关法规的情况下进行传播, sazs34 对于由此引起的任何隐私泄漏或其他后果概不负责.
请勿将 MyActions 项目的任何内容用于商业或非法目的,否则后果自负.
如果任何单位或个人认为该项目的脚本可能涉嫌侵犯其权利,则应及时通知并提供身份证明,所有权证明,我们将在收到认证文件后删除相关脚本.
任何以任何方式查看此项目的人或直接或间接使用该 MyActions 项目
repo
工具和
同步
android
代码
1.
repo
是什么
repo
是一种
代码
版本管理工具,它是由一系列的Python脚本组成,封装了一系列的
Git
命令,用来统一管理多个
Git
仓库。
2.
repo
简介
因为Android源码引用了很多开源项目, 每一个子项目都是一个
Git
仓库,每个
Git
仓库都有很多
分支
版本,为了方便统一管理各个子项目的
Git
仓库,需要一个上层 工具批量进行处理,因此
repo
诞生。
repo
也会建立一个
Git
仓库,用来记录当前Android版本下各个子项目的
Git
仓库分别处于哪