如何使用指定的用户名/密码执行git操作?

时间:2018-04-05 07:23:23

标签: git

我想在CI服务器上运行脚本,该服务器将自动从git存储库中删除旧分支。我必须将git的用户名/密码作为参数传递给此脚本,因为服务器是在不同的团队之间共享的,所以我不能在服务器上存储ssh密钥。我可以使用提供的凭据git clone https://username:password@github.com/username/repository.git来克隆存储库。 但是我无法执行任何其他操作,例如git push origin --delete branch_name - promt将要求输入密码。 有没有办法通过脚本为我的情况提供git操作的凭证?

1 个答案:

答案 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