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博客

相关推荐
大路谈数字化1 小时前
Centos中内存CPU硬盘的查询
linux·运维·centos
luoqice2 小时前
linux下查看 UDP Server 端口的启用情况
linux
TeleostNaCl2 小时前
OpenWrt 编译 | 一种使用 git submodule 方式实现一键更新多个外部软件包
网络·经验分享·git·智能路由器
倔强的石头_3 小时前
【Linux指南】动静态库与链接机制:从原理到实践
linux
赏点剩饭7784 小时前
linux中的hostpath卷、nfs卷以及静态持久卷的区别
linux·运维·服务器
神鸟云4 小时前
DELL服务器 R系列 IPMI的配置
linux·运维·服务器·网络·边缘计算·pcdn
herderl4 小时前
**僵尸进程(Zombie Process)** 和**孤儿进程(Orphan Process)**
linux·运维·服务器·网络·网络协议
lepton_yang4 小时前
Zephyr下控制ESP32S3的GPIO口
linux·嵌入式硬件·esp32·zephyr
泽02024 小时前
Linux 编译器 gcc 与 g++
linux·运维·服务器