怎么使用repo或git工具将本地代码回退到历史的某一个版本。

我的.repo/manifests/Production-Daily/目录下有很多XML文件,如20141217.xml ,如何使用它

那些xml文件是分支配置的文件,使用的话直接init 后再sync就可以了
repo init git地址 -b 分支名 -m xml文件名
repo sync

如果要将本地代码回到某个历史版本直接checkout 或者 reset
checkout 支持将文件切换到历史版本,数据库不会修改,还可以回到你最新的状态
reset 是直接回退带指定版本,它有两种模式 一种是只将所有提交回退,修改还在,还有一种模式是完全回退,修改直接就没了。

repo forall -c git chekout 指定节点的哈希值
repo forall -c git reset 指定节点的哈希值
repo forall -c git reset 指定节点的哈希值 --hard (此操作会回退掉指定节点之后的所有修改,如果回退出错 只能重新跟服务器同步了。)

希望我的回答能帮助你追问

这个代码我没改,都是别人改的,我好像看不到别人的修改,有没有办法看到别人的修改记录

追答

git log
就会列出所有的修改
然后使用 git diff 要对比的log哈希值1 要对比的log哈希值2
就可以看两个log之间的差异了,也就是别人修改的内容

温馨提示:内容为网友见解,仅供参考
无其他回答

如何使用Git管理本地代码版本
那些xml文件是分支配置的文件,使用的话直接init 后再sync就可以了repo init git地址 -b 分支名 -m xml文件名repo sync如果要将本地代码回到某个历史版本直接checkout 或者 resetcheckout 支持将文件切换到历史版本,数据库不会修改,还可以回到你最新的状态reset 是直接回退带指定版本,它有两种模式 ...

repo 按日期回退版本
我找到一种方法,就是找到之前的某个稳定的tag,然后repo forall -c “git reset --hard xxx_tag”但是那个xxx_tag一定是你之前为每个git库打的tag。可以说是前一个稳定版本吧。但是想回到某个具体的时间点,我也求解答呀。

repo下载与使用
使用`repo sync`命令来拉取代码。可以使用选项`-j`指定多任务执行数量,通常8核CPU可设置为16任务,过多则可能适得其反。`-c`选项只下载当前分支的代码,`-d`则用于将工程回退到manifest指定的版本,`-f`如果某个工程同步失败,它会继续同步。常用repo命令 Repo提供了丰富的命令,如`repo help`可...

git及repo常用指令及资料
首先,Git 的内部原理虽然复杂,但理解其引用规范是关键。在处理大量分支时,可以使用 repo 的批量操作,如批量删除分支(`repo forall -c "git branch | sed -e \/^*\/d | xargs git branch -D"`)和批量创建分支(`repo forall -c "repo start [分支名] –all"`)。在Git操作中,删除本地...

repo 版本回退操作
git log --before="1 days"

无痛的Git实践笔记(二):时光穿梭之版本回退与切换
step 1. 首先我们在GitHub上创建一个项目Test,用于测试使用,并将该项目clone到本地。这样我们就相当于是在本地直接获得了一个git管理的项目,并且已经和远端建立好了联系。如果我们直接使用 也是可以在本地创建一个git管理的项目的,只是还没有和远端建立联系。step 2. 我们尝试做一些commit,我是创建...

repo互换是什么意思?
在进行repo互换时,通常需要使用版本控制系统,如Git等。首先,需要在本地将需要互换的repo克隆下来,然后对代码进行修改和提交。接着,将修改后的代码推送到远程仓库,或者使用pull request等方式向其他团队成员进行修改合并。如果有冲突出现,需要进行代码合并和解决冲突的操作,最终保证合并后的代码在多人...

如何把commit从一个repos拷贝到另一个repos
使用 git log 找出待拷贝的commit。会在当前目录下面生成一个0001_XXX.patch文件。这是一个patch diff文件,可以打开看。如果源source_repos和target_repos中文件的路径发生了变化,那么要手动修改.patch文件里面的相关文件路径。举例来说,如果文件 common.c文件在源source_repos的路径是 src\/common\/common...

三步实现repo聚合本地git仓库
repo是一个基于Python的工具,专为Git环境设计,能方便地管理多个仓库。需要首先安装Git和Python。我的版本信息如下。安装repo后,执行init命令,并使用help确认安装完成。创建名为default.xml的资源列表,列出所有仓库,遵循特定规则,详细规则参阅官方文档。新增项目只需更新列表。通过repo sync命令,同步列表...

如何添加已有的本地repo仓库到本地的gerrit服务器
那些xml文件是分支配置的文件,使用的话直接init 后再sync就可以了 repo init git地址 -b 分支名 -m xml文件名 repo sync 如果要将本地代码回到某个历史版本直接checkout 或者 reset checkout 支持将文件切换到历史版本,数据库不会修改,还可以 ...

相似回答