在我的Travis-CI部署过程中的某个时刻,我想合并来自同一个仓库中不同分支的一组文件。
不幸的是,我无法弄清楚如何做到这一点。只需设置一个bash脚本来运行像git checkout origin master
这样的命令,就会出现如下错误:
error: pathspec 'origin' did not match any file(s) known to git.
error: pathspec 'master' did not match any file(s) known to git.
所以我的问题是:如何从Travis的其他分支机构获取文件?
由于
答案 0 :(得分:1)
问题在于特拉维斯不了解原产地的其他分支,也没有本地副本。您必须运行git fetch
才能解决此问题:
git fetch --depth=1 git@github.com:your-org/your-repo.git refs/heads/other-branch:refs/remotes/origin/other-branch
此命令告诉git fetch
将refs/heads/other-branch
处的分支复制到refs/remotes/origin/other-branch
处的本地计算机
完成此操作后,您就可以使用标准git命令从other-branch
获取文件了。
答案 1 :(得分:0)
远程分支的引用方式如下:-remote / the-branch ...所以你需要说出:git checkout origin/master
。它也适用于很多(如果不是全部?)操作.... diff,cherry-pick,rebase,merge等等