ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

Linux配置使用Git,看这个就够了

Linux配置使用Git,看这个就够了 无论是Linux系统也好Windows系统也罢命令行的方式都是通用的只不过Windows上有更加方便的图形化git工具比如小乌龟用惯了Windows上的图形化git工具想要在Linux开发板或者云服务器上也把Git工具用起来需要如何一步步操作呢千万别怕那些冷冰冰的命令行本文以Linux环境配置git为例从实际情况出发不过多地去讲那些复杂难懂的概念帮助你快速入门。git的使用离不开远端仓库而全球最大的git仓库也就非Github莫属了其次国内还有Gitee、Gitcode等类似的平台功能和使用方法都差不多读者可自行选择本文的以Github演示为例一通百通。但其实在ai时代我们只需要了解相关的概念知道有这么回事把需求给ai问题也是能够得到解决的或者忘记了命令直接去网上查找都是非常方便的。安装git使用apt包管理器安装sudo apt update # 更新软件包索引 sudo apt install git -y # 安装 Git安装完成后验证 Git 版本git --version有类似内容返回则证明安装成功git version 2.34.1配置用户信息设置Git用户名以及电子邮箱地址git config --global user.name Mona Lisa git config --global user.email YOUR_EMAIL进行身份验证这里推荐使用ssh连接到GitHub打开终端。粘贴以下文本将示例中使用的电子邮件替换为电子邮件地址 GitHub 。ssh-keygen -t ed25519 -C your_emailexample.com输出Generating public/private ed25519 key pair. Enter file in which to save the key (/root/.ssh/id_ed25519):当系统提示“Enter a file in which to save the key输入要保存密钥的文件”时可以直接按 Enter 键接受默认文件位置。接下来可根据提示设置相应的密码如果不设置直接回车跳过也是可以的这里如果是自己用的话推荐还是直接回车跳过的否者后面每次用到都需要再次输入密码Enter passphrase (empty for no passphrase): Enter same passphrase again:创建好密钥之后接下来我们把SSH密钥添加到ssh-agent通过这个小工具来管理我们的SSH密钥。1、在后台启动 ssh 代理eval $(ssh-agent -s)2、将 SSH 私钥添加到 ssh-agent如果使用其他名称创建了密钥或要添加具有其他名称的现有密钥请将命令中的id_ed25519替换为私钥文件的名称。ssh-add ~/.ssh/id_ed255193、将 SSH 公钥添加到 GitHub 上的帐户输入命令cat ~/.ssh/id_ed25519.pub将输出的全部内容都复制格式如下ssh-ed25519 XXXXXXXXXXXXXXXX AAAAAABBBB.com打开GitHub主页点击右上角头像进入设置页面找到SSH and GPG keys新建SSH key讲公钥粘贴进去至此所用工作都已经完成了接下来我们来进行测试。回到Linux终端输入以下命令回车ssh -T gitgithub.com看到以下输出则证明我们已经配置成功了Hi xxxx! Youve successfully authenticated, but GitHub does not provide shell access.情况1把仓库里的项目克隆到本地由于我们前面是配置的ssh认证所以我们克隆仓库时也需要选择ssh的链接如下所示在仓库主页点击绿色的Code按钮即可看到仓库的克隆地址。这里有两种方式可供选择HTTPS 方式形如https://github.com/用户名/仓库名.git无需提前配置密钥但每次推送push时都需要输入 GitHub 用户名和密码或 Personal Access Token。SSH 方式形如gitgithub.com:用户名/仓库名.git需要提前配置 SSH 公钥前面章节已完成配置后推送和拉取都无需再输入密码更加方便安全。下面以 SSH 方式为例演示完整的克隆步骤。第一步复制仓库 URL点击Code按钮后在弹出的下拉框中切换到SSH标签页点击右侧的复制按钮将 SSH 克隆地址复制到剪贴板例如gitgithub.com:octocat/Hello-World.git第二步执行克隆命令回到 Linux 终端使用git clone命令将远程仓库克隆到本地命令格式如下git clone gitgithub.com:octocat/Hello-World.git执行后Git 会从远程仓库拉取全部代码到当前目录下并自动创建一个与仓库同名的文件夹例如Hello-World。第三步验证克隆结果克隆完成后进入项目目录并查看文件列表确认代码是否完整拉取cd Hello-World ls -la如果看到仓库中的文件如README.md、源码文件等则说明克隆成功。也可以使用git log查看提交历史进一步确认仓库状态git log --oneline若输出类似a1b2c3d 初始提交的提交记录则证明克隆完全成功。HTTPS 与 SSH 的区别对比项HTTPSSSH克隆地址格式https://github.com/用户名/仓库名.gitgitgithub.com:用户名/仓库名.git是否需要提前配置密钥不需要需要配置 SSH 公钥推送时是否需要输入密码每次推送需输入用户名和密码或 Token配置后无需再输入密码适用场景临时使用、公共仓库只读克隆日常开发、频繁推送的私有仓库如果使用 HTTPS 方式克隆命令只需将地址替换为 HTTPS 链接即可git clone https://github.com/octocat/Hello-World.git两种方式都能完成克隆可根据自己的使用习惯和场景灵活选择。情况2本地已有项目需要上传到云端仓库与克隆远程仓库相反有时我们在本地已经写好了项目代码希望把它上传到 GitHub 云端仓库进行托管和备份。下面以 SSH 方式为例演示完整的上传步骤。第一步在 GitHub 上新建一个空仓库登录 GitHub 后点击右上角的号选择New repository。在创建页面填写仓库名称Repository name例如my-project可见性可根据需要选择Public公开或Private私有。这里建议不要勾选Add a README file等初始化选项保持仓库为空方便后续直接推送本地代码。创建完成后页面会显示该仓库的远程地址同样有 HTTPS 和 SSH 两种格式这里我们选择 SSH 地址例如gitgithub.com:octocat/my-project.git第二步在本地项目目录初始化 Git 仓库打开终端进入本地项目所在的目录执行git init命令将该目录初始化为一个 Git 仓库cd my-project git init执行后当前目录下会生成一个隐藏的.git文件夹表示 Git 仓库初始化成功。第三步添加远程仓库地址使用git remote add origin命令将刚才在 GitHub 上创建的远程仓库地址关联到本地仓库origin是远程仓库的默认别名git remote add origin gitgithub.com:octocat/my-project.git添加完成后可以使用git remote -v查看远程仓库地址是否配置正确git remote -v输出类似如下内容则说明远程仓库关联成功origin gitgithub.com:octocat/my-project.git (fetch) origin gitgithub.com:octocat/my-project.git (push)第四步将本地文件添加到暂存区并提交使用git add命令将项目文件添加到暂存区.表示添加当前目录下的所有文件git add .接着使用git commit命令将暂存区的文件提交到本地仓库并附上提交说明git commit -m 初始提交如果这是首次提交Git 可能会提示需要配置用户名和邮箱按照前面「配置用户信息」章节的内容设置即可。第五步推送代码到云端仓库使用git push命令将本地仓库的代码推送到远程仓库。首次推送时需要指定远程仓库名和分支名并加上-u参数建立本地分支与远程分支的关联git push -u origin main如果远程仓库的默认分支是master则将命令中的main替换为master即可git push -u origin master推送成功后终端会输出类似Branch main set up to track remote branch main from origin的提示表示代码已成功上传。HTTPS 方式上传如果使用 HTTPS 方式上传只需在添加远程仓库时将地址替换为 HTTPS 链接即可其余步骤完全相同git remote add origin https://github.com/octocat/my-project.git需要注意的是使用 HTTPS 方式推送时每次都需要输入 GitHub 用户名和密码或 Personal Access Token而 SSH 方式配置好密钥后则无需重复输入。情况3提交代码到云端仓库当本地代码已经成功推送到远程仓库后后续的日常开发中我们还需要频繁地把本地的新改动提交并同步到云端仓库。下面演示完整的提交流程。第一步查看当前仓库状态在提交之前先使用git status命令查看当前工作区的状态确认哪些文件被修改过、哪些文件尚未被跟踪git status输出中会列出已修改modified和未跟踪untracked的文件方便我们确认要提交的内容。第二步将改动添加到暂存区使用git add命令将需要提交的文件添加到暂存区。如果要把当前目录下所有改动都添加进去可以使用.git add .如果只想提交某个具体文件可以指定文件名例如git add README.md第三步提交改动到本地仓库使用git commit命令将暂存区的内容提交到本地仓库并附上清晰的提交说明方便日后回溯git commit -m 更新说明文档第四步推送改动到云端仓库提交完成后使用git push命令将本地的新提交推送到远程仓库。由于前面已经用-u建立了本地分支与远程分支的关联后续直接执行git push即可git push推送成功后终端会输出类似Branch main set up to track remote branch main from origin的提示表示改动已成功同步到云端。第五步验证提交结果回到 GitHub 仓库页面刷新后即可看到最新的提交记录和改动内容。也可以在本地使用git log查看提交历史确认提交是否成功git log --oneline若输出类似a1b2c3d 更新说明文档的记录则证明提交完全成功。第六步验证上传结果回到 GitHub 仓库页面刷新后即可看到本地项目中的文件已经全部出现在云端仓库中。也可以在本地使用git log查看提交记录确认提交是否成功git log --oneline若输出类似a1b2c3d 初始提交的记录则证明上传完全成功。
返回列表