Git 如何避免获取.repo/manifest.xml?
如何避免获取.repo/manifest.xml(故意修改)?我不想在回购同步期间对其进行修改Git 如何避免获取.repo/manifest.xml?,git,repo,Git,Repo,如何避免获取.repo/manifest.xml(故意修改)?我不想在回购同步期间对其进行修改 我已经做了一个repo初始化,这个步骤已经完成 我对manifest.xml做了一个小修改,删除了一些不需要同步的项目 当我们进行回购同步时,它会获取回购并删除步骤2中所做的修改 如何避免获取清单?目的是避免同步manifest.xml中定义的某些st项目克隆本地计算机上某个位置的清单repo(克隆为裸存储库。使用--bare选项和“git Clone”)并在初始化树(repo init-u…)时指定
如何避免获取清单?目的是避免同步manifest.xml中定义的某些st项目克隆本地计算机上某个位置的清单repo(克隆为裸存储库。使用--bare选项和“git Clone”)并在初始化树(repo init-u…)时指定清单repo的本地路径 如果您已在“/home/manifest.git”中克隆了清单repo,则repo init命令将是
repo init -u /home/manifest.git -m < manifest_name > -b < branch_name >
repo init-u/home/manifest.git-m-b
我猜答案可能会稍微延迟,但由于几个月后回到master and stable,回购支持
“repo sync--无清单更新”或“repo sync--nmu”的缩写形式
这将从服务器获取并更新您的工作区,而不涉及清单文件
您可以进行更改,在head后面,从历史记录中的某个地方签出提交哈希,并且您的工作区仍然会得到完全相同的结果,而不会对清单文件或“有用的”分支切换或类似操作进行任何更改
它会将您分离,但如果您运行普通的回购同步而不带标志,它会将您放回原位。我通常使用git fetch,然后使用git签出origin/something,然后使用repo sync--nmu再次获取最新版本
在添加此功能之前,您也可以使用repo init“特定哈希”,但我一直认为使用它更麻烦,所以每当需要确保同步/更新不会扰乱我的当前状态时,我都会使用--nmu。正如我所知,
repo sync
不会更新。repo/manifests,但repo init
会更新。那么,在每次repo sync
之前,您是否总是运行repo init
?不,我没有这样做,我执行了“repo sync-c”。但是我可以在第一步看到它的抓取,我的修改被覆盖了,XXXXX@WUH1000015754:~/XXX$repo-sync-c获取项目repo抱歉,我尝试了并且repo-sync
没有更新。repo/manifests。两种解决方案:1)cd.repo/;ls-alF代码>以查找指向.repo/manifest.xml的清单链接。它是.repo/manifests/中的某个文件。把它复制到别的地方。根据需要修改它。退出并保存。运行repo sync-c-m完整路径\u修改的清单
2)modify.repo/manifest.xml<代码>cd.repo/manifests/;吉特加。;git提交;git pull origin——rebase;git推原点头:一些适当的分支
,返回根文件夹并运行repo sync-c-m manifest\u relative\u path\u to.repo/manifests
。如果清单为default.xml,则可以省略-m xxx.PS。在2)中,如果清单是default.xml,则不要直接修改它。您可以复制它并将其命名为另一个名称,例如cp default.xml my.xml
。修改my.xml和git add、commit、pull--rebase和push。然后您可以reposync-c-mmy.xml
。当然,如果您想要有目的地修改default.xml,您可以更新它而不是生成my.xml。非常感谢,它正在工作。同步正在进行,完成后将立即更新。repo sync-c-m manifest_relative_path_to_uu.repo/manifests将再次在.repo内创建git的副本。无论如何要避免这种情况。