Ubuntu下安装并初始化Git同时添加SSH密钥

  • 在 Ubuntu 上可以使用以下命令安装git:

    复制代码
    sudo apt-get update
    sudo apt-get install git

在 Ubuntu 下安装好 Git 之后,接下来可以进行一些基本的配置和操作,以便更好地使用 Git。

1. 配置 Git 用户信息

在使用 Git 进行版本控制前,首先需要配置你的用户名和邮箱。这些信息将与你的提交记录关联。

复制代码
git config --global user.name "你的名字"
git config --global user.email "你的邮箱@example.com"

2. 检查 Git 配置

可以使用以下命令查看当前的 Git 配置:

复制代码
git config --list

3. 生成 SSH 密钥(可选)

如果你计划从 GitHub 或其他 Git 托管服务克隆私有仓库,建议生成 SSH 密钥并将其添加到你的 GitHub / GitLab / Bitbucket 帐户。

生成 SSH 密钥的命令:

复制代码
mkdir .ssh
ssh-keygen -t rsa -b 4096 -C "你的邮箱@example.com"

当生成密钥时,会让你选择将密钥保存在哪里,你就选择我们创建的.ssh文件夹。

生成后,可以使用以下命令查看公钥:(这里假设你的密钥文件名为id_rsa,如果是其他请更换)

复制代码
cat ~/.ssh/id_rsa.pub

将输出的公钥内容添加到你的 GitHub 账户的 SSH 密钥设置中。

要将生成的 SSH 公钥添加到你的 GitHub 账户中,请按照以下步骤操作:

3.1. 查看公钥

首先,你需要使用以下命令查看生成的公钥内容:

复制代码
cat ~/.ssh/id_rsa.pub

这将显示公钥的内容。您需要复制整个公钥字符串,包括开头的 ssh-rsa 和结尾的邮箱地址。

3.2. 登录 GitHub

打开浏览器,访问 GitHub 并登录到你的账户。

3.3. 访问 SSH 密钥设置
  1. 点击右上角的头像,然后选择 Settings
  2. 在左侧菜单中,选择 SSH and GPG keys
3.4. 添加新 SSH 密钥
  1. 点击 New SSH key 按钮。
  2. Title 字段中,输入一个易于识别的名称,例如"个人电脑"或"工作站"。
  3. Key 字段中,粘贴你从 cat ~/.ssh/id_rsa.pub 命令中复制的公钥内容。
  4. 最后,点击 Add SSH key 按钮。
3.5. 验证

添加 SSH 密钥后,你可以尝试使用 SSH URL 克隆你的私有仓库,以验证密钥是否正确配置。例如:

复制代码
git clone git@github.com:yourusername/your-private-repo.git

如果没有提示你输入密码,说明 SSH 密钥配置成功。

4. 克隆仓库

使用 Git 克隆代码仓库,你需要知道仓库的地址。使用以下命令克隆仓库:

  • 使用 HTTPS:

    复制代码
    git clone https://github.com/username/repository.git
  • 使用 SSH:

    复制代码
    git clone git@github.com:username/repository.git

5. 创建新仓库

如果你要创建新的 Git 仓库,可以在项目根目录下使用以下命令:(这里创建的是本地仓库)

复制代码
mkdir myproject
cd myproject
git init

如果你直接克隆一个现有的 Git 仓库,你不需要手动执行 git init 命令。使用 git clone 命令时,Git 会自动为你初始化一个新的仓库,并将远程仓库的所有内容复制到本地目录中。

6. 添加文件和提交

向 Git 仓库中添加文件并进行提交:

  1. 将文件添加到暂存区:

    复制代码
    git add 文件名

    或者添加所有文件:

    复制代码
    git add .
  2. 提交到本地仓库:

    复制代码
    git commit -m "提交信息"

下篇文章讲述如何推送仓库。如何使用Git推送本地搭建的仓库以及远程克隆的仓库-CSDN博客

相关推荐
xdscode28 分钟前
Linux云服务器安装openclaw,并对接飞书通道
linux·服务器·飞书·openclaw
Percep_gan1 小时前
Linux中安装Redis,很详细
linux·运维·redis
2401_877274241 小时前
从匿名管道到 Master-Slave 进程池:Linux 进程间通信深度实践
linux·服务器·c++
feng_you_ying_li2 小时前
linux之用户的权限详解(4)
linux·运维·服务器
vistaup2 小时前
windows git 更新当前目录下所有的文件(非递归)
windows·git
二进制person3 小时前
JavaEE初阶 --网络编程
linux·服务器·网络
Cyber4K3 小时前
【妙招系列】Harbor 镜像私有仓库搭建手册
linux·云原生·容器
王码码20353 小时前
Flutter for OpenHarmony:Flutter 三方库 algoliasearch 毫秒级云端搜索体验(云原生搜索引擎)
android·前端·git·flutter·搜索引擎·云原生·harmonyos
Irissgwe4 小时前
进程间通信
linux·服务器·网络·c++·进程间通信
创世宇图4 小时前
阿里云Alibaba Cloud Linux 4 LTS 64位生产环境配置-Nginx
linux·nginx