我想在CI服务器上运行脚本,该服务器将自动从git存储库中删除旧分支。我必须将git的用户名/密码作为参数传递给此脚本,因为服务器是在不同的团队之间共享的,所以我不能在服务器上存储ssh密钥。我可以使用提供的凭据git clone https://username:password@github.com/username/repository.git
来克隆存储库。
但是我无法执行任何其他操作,例如git push origin --delete branch_name
- promt将要求输入密码。
有没有办法通过脚本为我的情况提供git操作的凭证?
答案 0 :(得分:1)
使用以下命令克隆存储库时,提示永远不会要求输入密码。
<?php
include('session.php');
if(isset($_POST['add'])){
$id=$_POST['id'];
$query=mysqli_query($conn,"SELECT * FROM product NATURAL JOIN cart where productid = '$id' AND userid = YOUR_USER_ID");
if(mysqli_num_rows($query)){
$row=mysqli_fetch_array($query);
if(($row['qty'] + 1) <= $row['product_qty']){
$newqty = $row['qty'] + 1;
mysqli_query($conn,"update cart set qty='$newqty' where productid='$id'");
// your code
}
}
}
?>
请确保您的用户名和密码是使用origin关键字设置的。
git clone https://username:password@github.com/username/repository.git
如果不存在则尝试更改网址
git remote -v
origin https://username:password@github.com/username/repository.git (fetch)
origin https://username:password@github.com/username/repository.git (push)
之后它不会要求输入密码
git remote set-url origin https://username:password@github.com/username/repository.git