是否有一种单命令方式来获取远程仓库的最新镜像? 也就是
- 如果本地仓库还没有:克隆
- 如果有: pull
我知道我可以编写脚本(例如 if [ -d repo ]; then (cd repo && git pull); else git clone $repourl;fi
) ,但我需要最简单的跨平台方式(实际上用于 Jenkins-CI,我知道它默认这样做,但是我需要 2 个支持有限的 repo 协议(protocol))。
Git 对其他事情也有类似的快捷方式(例如 checkout -b 和 pull 本身),所以我想知道我是否遗漏了什么。谢谢!
最佳答案
没有,因为在现有存储库上运行的命令都假设它们在给定的存储库中运行。
就是说,如果您在 shell 中运行,则可以简单地使用 shell 内置函数。例如,这里是 bash:
if cd repo; then git pull; else git clone https://server/repo repo; fi
这会检查 repo
是否是一个有效的目录,如果是,则在其中执行一个pull
;否则它会执行 clone
来创建目录。
关于如果还没有本地的,用克隆 pull 的 Git 快捷方式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15602059/