获取Git权限的三种方式

这篇具有很好参考价值的文章主要介绍了获取Git权限的三种方式。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

写在最前

  1. 本文以为Azure Devlop的平台为例子操作三种获取Git权限的办法
  2. Github、Gitlab、Gitee、Gitcode等平台操作类似
  3. 主要是便于理解获取Git权限的几种采用方式
  4. Git工具安装时,如果没有特别勾选不安装SSH,默认是Git安装好之后是会携带了SSH工具
  5. 本文以git clone指令拉取代码为例子,当没有权限获取项目时,会出现类似错误:
R7000@DESKTOP-30AFPHP MINGW64 /d/Workspace/Py/gitest $ git clone
https://XXXX8009@dev.azure.com/XXXX8009/GitTestProject/_git/GitTestProject
Cloning into 'GitTestProject'... fatal: User canceled authentication.
error: unable to read askpass response from
'D:/Git/mingw64/bin/git-askpass.exe' Password for
'https://XXXX8009@dev.azure.com/XXXX8009/GitTestProject/_git/GitTestProject':
fatal: Authentication failed for
'https://dev.azure.com/XXXX8009/GitTestProject/_git/GitTestProject/'

R7000@DESKTOP-30AFPHP MINGW64 /d/Workspace/Py/gitest $ git clone
git@ssh.dev.azure.com:v3/XXXX8009/GitTestProject/GitTestProject
Cloning into 'GitTestProject'... Load key
"/c/Users/R7000/.ssh/id_rsa": invalid format git@ssh.dev.azure.com's
password: Permission denied, please try again. git@ssh.dev.azure.com's
password: Permission denied, please try again. git@ssh.dev.azure.com's
password: git@ssh.dev.azure.com: Permission denied
(password,publickey). fatal: Could not read from remote repository.

Please make sure you have the correct access rights and the repository
exists.

1. HTTPS配合用户名和密码访问Git

1.1 获取当前项目的用户和密码

    1. 选择项目的方式为HTTPS:
      git怎么看权限,开发工具,git,github,sshgit怎么看权限,开发工具,git,github,ssh
    1. 生成用户名和密码
      git怎么看权限,开发工具,git,github,ssh

1.2 通过临时用户获取Git权限

    1. 由于Azure比较特殊会提示登录VS,这边取消了登录VS会提示fatal: User canceled authentication.但是用户名和密码是可以使用的
R7000@DESKTOP-30AFPHP MINGW64 /d/Workspace/Py/gitest
$ git clone https://XXXX8009@dev.azure.com/XXXX8009/GitTestProject/_git/GitTestProject
Cloning into 'GitTestProject'...
fatal: User canceled authentication.
remote: Azure Repos
remote: Found 22 objects to send. (2 ms)
Unpacking objects: 100% (22/22), 5.62 KiB | 122.00 KiB/s, done.

R7000@DESKTOP-30AFPHP MINGW64 /d/Workspace/Py/gitest/GitTestProject (main)
$ git status
On branch main
Your branch is up to date with 'origin/main'.

nothing to commit, working tree clean
    1. 这里打开项目里面的.git文件夹查看config文件
[core]
	repositoryformatversion = 0
	filemode = false
	bare = false
	logallrefupdates = true
	symlinks = false
	ignorecase = true
[remote "origin"]
	url = https://XXXX8009@dev.azure.com/XXXX8009/GitTestProject/_git/GitTestProject
	fetch = +refs/heads/*:refs/remotes/origin/*
[branch "main"]
	remote = origin
	merge = refs/heads/main

2. HTTPS配合token访问Git

2.1 创建token

    1. 点击Personal access token按钮 创建token
      git怎么看权限,开发工具,git,github,ssh
    1. 跳转之后点击New token

git怎么看权限,开发工具,git,github,ssh

    1. 输入名字和时间以及权限之后创建token,千万保存并记录好token秘钥那串字符数字

git怎么看权限,开发工具,git,github,ssh

    1. 有意思的是之前自动生成用户名和密码 实际上也是携带了一个token,为什么这么猜测呢,因为之后查看用token获取权限后的config文件可以看出
      git怎么看权限,开发工具,git,github,ssh

2.2 HTTPS配合token获取Git权限

    1. 同样拉去代码,选择HTTPS的方式,这里不需要创建用户名和密码

git怎么看权限,开发工具,git,github,ssh

    1. 打开git bash,手动在git 连接前面 @开头的信息去掉换成token信息,即原来的git连接为https://XXXX8009@dev.azure.com/XXXX8009/GitTestProject/_git/GitTestProject现在的为https://XXXXXXXXXXXXXXXX7pgv6xxfeigim7ygw3lydz4xbpo7vyy2q@dev.azure.com/XXXX8009/GitTestProject/_git/GitTestProject
R7000@DESKTOP-30AFPHP MINGW64 /d/Workspace/Py/gitest
$ git clone https://XXXXXXXXXXXXXXXX7pgv6xxfeigim7ygw3lydz4xbpo7vyy2q@dev.azure.com/XXXX8009/GitTestProject/_git/GitTestProject
Cloning into 'GitTestProject'...
remote: Azure Repos
remote: Found 22 objects to send. (19 ms)
Unpacking objects: 100% (22/22), 5.62 KiB | 85.00 KiB/s, done.

    1. 此时的项目下的git config信息中的URL是携带token的,可以猜测之前随机生成的用户名和密码时,也是携带了token信息
[core]
	repositoryformatversion = 0
	filemode = false
	bare = false
	logallrefupdates = true
	symlinks = false
	ignorecase = true
[remote "origin"]
	url = https://XXXXXXXXXXXXXXXX7pgv6xxfeigim7ygw3lydz4xbpo7vyy2q@dev.azure.com/XXXX8009/GitTestProject/_git/GitTestProject
	fetch = +refs/heads/*:refs/remotes/origin/*
[branch "main"]
	remote = origin
	merge = refs/heads/main

3. SSH访问Git

3.1 生成SSH公钥和私钥

    1. 打开cmd或者git bash,输入ssh-keygen -t rsa,为了方便,提示选项可以enter键跳过,最后生成文件在C盘用户目录的.ssh文件夹下,如这里的/c/Users/R7000/.ssh/,其中.pub为公钥
$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/c/Users/R7000/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /c/Users/R7000/.ssh/id_rsa
Your public key has been saved in /c/Users/R7000/.ssh/id_rsa.pub
The key fingerprint is:
SHA256:QevS8lBgx8OihC4ipYP+4fmg1vBuH9DrXTuzqRHmq2A R7000@DESKTOP-30AFPHP
The key's randomart image is:
+---[RSA 3072]----+
|   .  ooo        |
|  o ...++.       |
|.+ . . .+.       |
|B . o  + .       |
|+o . .+oS        |
| o .. +=.        |
|  *Eoo o..       |
| .oB+ o +oo      |
|..o.o=.+.++      |
+----[SHA256]-----+

git怎么看权限,开发工具,git,github,ssh

    1. 复制公钥信息,到代码仓库的SSH中

git怎么看权限,开发工具,git,github,ssh

    1. 点击添加SSH KEY:
      git怎么看权限,开发工具,git,github,ssh
    1. 将公钥信息复制进去,其中Name自定义
      git怎么看权限,开发工具,git,github,ssh
      git怎么看权限,开发工具,git,github,ssh

git怎么看权限,开发工具,git,github,ssh文章来源地址https://www.toymoban.com/news/detail-795589.html

3.2 使用SSH获取Git权限

    1. 添加成功SSH信息之后,利用SSH连接就可以直接获取Git权限了
R7000@DESKTOP-30AFPHP MINGW64 /d/Workspace/Py/gitest
$ git clone git@ssh.dev.azure.com:v3/XXXX8009/GitTestProject/GitTestProject
Cloning into 'GitTestProject'...
remote: Azure Repos
remote: Found 22 objects to send. (6 ms)
Receiving objects: 100% (22/22), 5.64 KiB | 1.41 MiB/s, done.
Resolving deltas: 100% (1/1), done.

到了这里,关于获取Git权限的三种方式的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • R语言实操记录——获取包的三种渠道及安装包的三种方式

    R语言实操记录——获取包的三种渠道及安装包的三种方式 渠道1 、CRAN:R语言的官网,里面包含有绝大多部分领域的大部分包。 渠道2 、Bioconductor:生物专业的相关网页,包含有大部分的专业数据分析包。 渠道3 、Github:一部分还未被官网收录的包或者比较新的包会被发布在

    2024年02月07日
    浏览(47)
  • SpringBoot获取HttpServletRequest、HttpServletResponse的三种方式

    仅仅适用在controller方法上。当Spring接收到HTTP请求时,会寻找一个合适的方法来处理该请求。如果该方法参数上标注了@RequestMapping或@Get、@Post等注解,Spring就会将HttpServletRequest对象注入到该参数中。 适用于所有的bean 通过调试可以看到,注入的Reques是一个代理类,而这个被代

    2024年02月19日
    浏览(46)
  • SpringBoot获取Request请求的三种方式

    Request对象包含了请求的各种信息,比如请求方法、请求URL、请求参数、请求内容等等,这些信息可以供服务器进行处理和响应。那么在SpringBoot中,怎么才能获取到Request对象? 本文将介绍三种方法,并提示例参考。 一、直接在Controller方法参数上注入HttpServletRequest 这是最常用

    2024年02月04日
    浏览(56)
  • Python获取本机IP地址的三种方式

    目录 1、使用专用网址 2、使用自带socket库 3、使用第三方netifaces库 获取的是 公网IP 。 网址:http://myip.ipip.net 代码: 具体可以类似这样:  比较喜欢用这个,在命令窗口也能使用: 还可以用这个: https://api.ipify.org 获取的是 局域网IP 。 但是上面这个获取的 不是 公网IP,结果

    2024年02月04日
    浏览(41)
  • 十分钟掌握前端获取实时数据的三种主流方式

    前端获取实时数据的三种主流方式 本文聊聊前端获取实时数据的三种主要方式。想象一下,我们在网上购物时,经常能看到最新的优惠信息弹出,或者在社交媒体上看到朋友的最新动态更新。这些都是因为后端在默默地向我们的页面推送了最新的消息。那么,这背后到底使用

    2024年02月21日
    浏览(44)
  • GIT合并分支的三种方法

    1、目标:将dev分支合并到master分支 1.1、首先切换到master分支上 1.2、如果是多人开发的话 需要把远程master上的代码pull下来 1.3、然后我们把dev分支的代码合并到master上 1.4、然后查看状态及执行提交命令 比如 feature 分支上的commit 82ecb31非常重要,它含有一个bug的修改,或其他人

    2024年02月12日
    浏览(46)
  • git commit 撤销的三种方法

    一般在提交代码的时候,顺序是这样的 git add 可以看做是 “准备提交” , git commit 可以看做是 “执行提交” ; 撤销 commit 那么在执行完 commit 之后,想撤回 commit,怎么办? HEAD^ 意思是上一个版本,也可以写成 HEAD~1 如果进行了 2 次 commit ,都想撤回,可以使用 HEAD~2 1. 撤销

    2024年02月04日
    浏览(45)
  • Spring Boot获取resources目录下的文件的三种方式

    在Spring Boot项目中,经常需要获取 resources 目录下的文件。这些文件可以包括配置文件、模板文件、静态资源等。本文将介绍三种常用的方法来获取 resources 目录下的文件。 ResourceLoader 接口是Spring框架提供的用于加载各种资源的接口,包括 classpath 下的资源。在Spring Boot中,可

    2024年02月16日
    浏览(57)
  • git修改当前项目仓库地址的三种方法

    一、前言 最近公司将gitlab整体迁移了,换了新的地址,虽然在迁移的时候将相关分支信息、代码拷过去了;但是我们开发人员在迁移过程中也会有新的代码产出;或者由于项目原因,没有及时更新地址,造成大量新的代码产出! 怎么样将自己新产出的代码提交的新库呢? 方

    2024年02月13日
    浏览(44)
  • git通过SSH指定秘钥文件克隆代码的三种方法

    github官方操作文档:Generating a new SSH key and adding it to the ssh-agent - GitHub Docs 操作流程如下 1.生成一个新的ssh文件(your_email@example.com 替换为自己的邮箱) 2.添加公钥到github 复制公钥内容到剪贴板 打开浏览器,登录github.com ,右上角,点击settings  找到 SSH and GPG keys ,点击进入  点

    2024年01月24日
    浏览(44)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包