解决git仓库从http转为ssh所要处理的问题

本文详细介绍了如何配置SSH密钥实现Git操作的免密码验证过程。包括设置用户名和邮箱、生成SSH密钥、添加公钥到远程仓库、修改本地仓库的远程URL,以及测试SSH连接等步骤。

https://www.cnblogs.com/lusecond/p/7607198.html

为了方便,一般我们克隆仓库的时候会选择http或者https协议

git clone https://github.com/Name/project

然后,每次git pull 的时候都要求输入密码,为了方便推拉代码,更好的做法就是使用ssh

 

解决办法

 1.确定你的git已设置用户名和邮箱

git config --global user.name "YourName"
git config --global user.email "email@mail.com"

 

2.查看你的home目录下是否已经生成过ssh-key

ll ~/.ssh

如果目录不存在或者没有看到id_rsa和id_rsa.pub这两个文件(注:id_rsa为默认创建名字)

新建一个ssh-key

ssh-keygen -t rsa -C "email@mail.com"

注:请确保email地址相同

 

3.向你的远程git仓库加入你的公钥(注:gitea、gitlab、github一般在用户的设置页面添加,如果远程是通过git init初始化的项目,请追加到远程机器的~/.ssh/authorized_keys 文件中)

cat ~/.ssh/id_rsa.pub

 

4.转换本地连接远程git的地址(注:这也是git clone http://xxx.com和git clone git@xxx.com的区别,使用本方法节省删除文件以及从新克隆的时间)

在你git clone项目后,只需将.git/config文件中

url = http://xxx.com/Name/project.git

改为

url = git@xxx.com/Name/project.git

即可。

 

5.测试你的ssh-key

ssh -T git@xxx.com

 

 

转载于:https://www.cnblogs.com/bluestorm/p/9181563.html

<think>我们参考用户的问题:在Ubuntu系统上创建一个Git仓库,询问如何初始化或建立。 根据引用[1]和引用[2]的内容,我们可以知道: 1. 使用命令 `git init` 可以初始化一个新的Git仓库(引用[1])。 2. 在引用[2]中,也提到了如果是从零开始,初始化一个新的仓库的步骤:先创建目录,进入目录,然后执行`git init`。 因此,步骤可以归纳为: 1. 打开终端(Terminal)。 2. 创建一个目录(如果需要的话)并进入该目录。 3. 执行 `git init` 命令。 另外,引用[3]提供了Git的背景信息,但用户的问题是如何建立仓库,所以重点在操作步骤。 但是,我们还需要考虑用户可能还没有安装Git。虽然用户没有问安装,但为了完整性,我们可以提一下安装步骤(引用[3]没有直接给出安装命令,但我们可以根据常识补充:在Ubuntu上安装Git通常使用`sudo apt install git`)。 因此,完整的步骤包括: 1. 确保Git已安装(如果没有,则安装)。 2. 创建项目目录并进入。 3. 初始化Git仓库。 由于用户明确要求建立仓库,我们主要回答初始化步骤,但可以简要提及安装。 同时,根据系统指令,我们需要在回答中自然地添加引用标识。引用[1]和引用[2]都提到了`git init`,所以我们可以引用它们。 另外,根据指令,我们还需要生成相关问题。 注意:用户的问题只涉及初始化仓库,但为了全面性,我们可以简要介绍后续步骤(添加文件并提交),但不要偏离主题。 回答结构: 1. 安装Git(可选步骤,如果用户已经安装可以跳过) 2. 创建目录(可选,如果已有项目目录则跳过) 3. 初始化仓库 4. 后续基本操作(添加文件、提交)的示例 最后,生成相关问题。 注意:引用标识要放在引用内容的后面。</think>### 在Ubuntu上创建Git仓库的步骤 #### 1. **安装Git(如未安装)** 在终端执行以下命令: ```bash sudo apt update && sudo apt install git -y ``` 验证安装:`git --version`[^3] #### 2. **初始化仓库** - **新建项目目录**(可选): ```bash mkdir my-project && cd my-project ``` - **执行初始化命令**: ```bash git init ``` 此时会生成隐藏的`.git`目录,包含所有版本控制数据[^1]。 #### 3. **添加文件并提交** - 创建测试文件: ```bash echo "Hello Git" > README.md ``` - 添加到暂存区: ```bash git add README.md ``` - 提交更改: ```bash git commit -m "Initial commit" ``` #### 4. **连接远程仓库(可选)** 若需关联GitHub/GitLab: ```bash git remote add origin git@github.com:username/repo.git git push -u origin main ``` 需提前配置SSH密钥(引用[2]的密钥配置步骤)[^2]。 ### 关键说明 - `git init` 是核心命令,将普通目录转为Git仓库[^1]。 - Git的分布式特性保证本地即可完成版本控制[^3]。 - 轻量级分支设计支持高效开发[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值