如何创建一个 bash 脚本来使用 git checkout 克隆存储库?

How to create a bash script for cloning repositories with git checkout?

我想创建一个 bash 脚本来克隆存储库并使用 git 结帐。我正在使用 Windows.

#!/bin/bash

PATH="C:\Users\Projects"
echo "$PATH"

git clone https://mygitrepository.com $PATH
cd "$PATH\mygitrepository"
git checkout Development 

cd ..
git clone https://mygitrepository2.com $PATH
cd "$PATH\mygitrepository2"
git checkout Development 

我想使用分支 Development 克隆所有存储库。但是我有下一个错误:

> $ ./Clone_Repositories.sh C:\Users\Projects ./Clone_Repositories.sh:
> line 5: git: command not found ./Clone_Repositories.sh: line 7: cd:
> mygitrepository: No such file or directory ./Clone_Repositories.sh:
> line 9: git: command not found ./Clone_Repositories.sh: line 13: git:
> command not found ./Clone_Repositories.sh: line 15: git: command not
> found

正如@tkausl 提到的,在 bad 中创建一个名为 $PATH 的变量,它覆盖了现有的变量,使得 git 可执行文件无法找到。 重命名变量,它应该可以工作:

> cat /tmp/t.sh 
#!/bin/bash

PATH="C:\Users\Projects"
echo "$PATH"

git status

ghislain@linux (1): ~/home_conf (master *=) ✔
> /tmp/t.sh 
C:\Users\Projects
/tmp/t.sh: line 6: git: command not found

这里有一个不同的变量:

ghislain@linux (1): ~/home_conf (master *=) ✖ (148)
> cat /tmp/t.sh 
#!/bin/bash

PROJECTS_PATH="C:\Users\Projects"
echo "$PROJECTS_PATH"

git status

ghislain@linux (1): ~/home_conf (master *=) ✔
> /tmp/t.sh 
C:\Users\Projects
On branch master
Your branch is up to date with 'origin/master'.

您可能想要更改您正在使用的变量名称。 $PATH 是一个环境变量,我们用于确定在查找特定程序或可执行文件时搜索哪些目录。

https://en.wikipedia.org/wiki/PATH_(variable)

似乎在顶部设置 PATH 会阻止 bash 找到 git 二进制文件。试试这个。

#!/bin/bash

MY_PATH="C:\Users\Projects"
echo "$MY_PATH"

cd "$MY_PATH"
git clone https://mygitrepository.com
cd "$MY_PATH\mygitrepository"
git checkout Development

cd "$MY_PATH"
git clone https://mygitrepository2.com
cd "$MY_PATH\mygitrepository2"
git checkout Development