git命令中带有特殊符号导致出错的解决方法

in 笔记 with 0 comment

在使用git clone克隆私有仓库的时候,使用了带用户名和密码的方式。

git clone https://[username]:[password]@/remote

但是我的密码中含有特殊符号@,导致链接不能正常解析,解决方法是对密码重新编码,转换成URL中的编码方式。

下面是用Java写的转换代码:

import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;
import java.util.Scanner;

public class ParseURL {

    static Scanner sc = new Scanner(System.in);

    public static void main(String[] args) {
        System.out.print("Input URL:");
        String input = sc.nextLine();
        String result = null;
        try {
            result = URLEncoder.encode(input, "UTF-8");
        } catch (UnsupportedEncodingException e) {
            e.printStackTrace();
        }
        System.out.println("Converted URL:" + result);
    }

}

看一下效果:

1559177545184

可以看到@在URL中应该写成%40!应该写成%21,其他特殊字符都可以用这种方式进行转换,就不一一测试了。

将转换过的URL替换原来URL中对应的部分。就可以顺利使用git clone了。

Responses