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

相关推荐
NamoAmitabha1281 小时前
libpng12-0 1.2.54-1ubuntu1.1 (amd64 binary) in ubuntu xenial
linux·ubuntu20.4
Madison-No72 小时前
搭建项目测试环境
linux·运维·服务器·python
吴声子夜歌3 小时前
Shell编程实例——编写安全的shell脚本(二)
linux·运维·shell
xiaoye-duck4 小时前
《Linux 网络编程》深入理解 IP 协议(二):网段划分、私有 IP 与 NAT 地址转换
linux·网络·ip
zx_741484815 小时前
【Linux入门】Shell 函数、正则表达式与文本处理:cut 与 awk
linux·运维·正则表达式
Zenova EdgeOS5 小时前
Linux dmesg 工业边缘实战:内核日志过滤、持久化与故障定位
linux·运维·边缘计算·工业边缘·dmesg·内核日志
金士顿5 小时前
System.Text.Json Source Generator 深度解析:为什么 Native AOT 不喜欢反射
linux·asp.net core·arm64·net·native aot
玄芯散人6 小时前
【筑基·058】Git协作工作流:冲突解决和PR流程
git·版本控制·团队协作
做运维的阿瑞6 小时前
Python 标准库汇总:分类速览与常用模块清单
linux·运维·python
百万蹄蹄向前冲7 小时前
密码都对Node.js却连不上Linux数据库
linux·mysql