如果还没有本地的,用克隆 pull 的 Git 快捷方式?

标签 git jenkins

是否有一种单命令方式来获取远程仓库的最新镜像? 也就是

  • 如果本地仓库还没有:克隆
  • 如果有: 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/

相关文章:

git - 如何不对多个分支使用 rebase

git - 如何使用 Jenkinsfile 设置 Jenkins 项,从 git check out 到 USS,构建、测试和部署?

java - Linux shell 中一个程序同时过滤输出和获取退出码

git - 如何在终端中更改我的 Git 用户名?

mysql - 我如何在一个 Joomla 项目上与多个开发人员协作?

git - 将多个文件夹推送到 Git

git add、commit 和 push 命令合二为一?

linux - 如何让 Jenkins 使用 root 用户子文件夹中的二进制文件?

jenkins - Jenkins 可以使用不同时区安排构建吗?

Jenkins - 设置向导空白?