Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/326.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Git 如何避免获取.repo/manifest.xml?_Git_Repo - Fatal编程技术网

Git 如何避免获取.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…)时指定

如何避免获取.repo/manifest.xml(故意修改)?我不想在回购同步期间对其进行修改

  • 我已经做了一个repo初始化,这个步骤已经完成
  • 我对manifest.xml做了一个小修改,删除了一些不需要同步的项目
  • 当我们进行回购同步时,它会获取回购并删除步骤2中所做的修改
    如何避免获取清单?目的是避免同步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的副本。无论如何要避免这种情况。