Git与GitHub
type
status
date
slug
summary
tags
category
icon
password
在刚开始接触编程的阶段,Git和Github常常让人感到陌生甚至困惑。但随着项目的积累和协作的需要,它们会逐渐成为你日常开发中不可或缺的工具。掌握版本控制不仅能帮助你更好地管理代码,更是进入更高效开发流程的第一步。本文将带你从基础出发,初步了解Git的使用方法,为之后的学习与项目实践打下扎实的基础。
📝 Git的基本操作
Git是什么
Git是一个分布式版本控制系统,用于记录和管理代码的变化过程。它的核心目标是帮助开发者追踪项目中的每一次修改、便捷地回退历史版本,以及实现多人协作开发时的分支管理与合并。
在Git的工作机制中,有几个重要的区域:
- 工作区:就是你当前编辑代码的目录,所有实际的修改都发生在这里。
- 暂存区:也叫缓存区。你可以选择将部分改动加入暂存区,这样做的目的是将修改进行打包,准备好之后再一起提交(到与他人共享的远程仓库,例如后文我们会提到的GitHub)。
- 本地仓库:当你执行
git commit
时,暂存区中的内容就会被正式保存到本地仓库,形成一次不可更改的提交记录(commit)。每个 commit 都有唯一的 ID,记录了修改的内容、时间、作者等信息。
- 远程仓库:存放在网络服务器上的Git仓库,例如 GitHub、GitLab或Gitee(当然你也可以自己租用服务器搭建属于你的Git远程仓库),用于与他人共享代码。当你执行
git push
时,本地仓库中的提交会被上传到远程仓库,使团队成员可以获取、查看或协作开发相同的项目。远程仓库通常被命名为origin
。
对团队协作而言,Git提供了统一的代码历史,并在多人修改时提供清晰的冲突检测与合并机制。这对于多人合作是十分重要的。
在Git中,我们会涉及到一些专有名词:
- add:将工作区中的改动添加到暂存区,为提交做准备。
- commit:将暂存区的更改提交为一次快照,保存在本地仓库中。
- push:将本地仓库中的提交上传到远程仓库。
- pull:从远程仓库获取最新的提交,并合并到当前分支。
- merge:将一个分支的更改整合到当前分支上。
- clone:从远程仓库复制一个完整的 Git 仓库到本地。
- branch:分支,用于并行开发(见后文)。
- conflict:在合并过程中发生的修改冲突。
- stash:暂时保存当前修改,以便切换到其他分支后再恢复。
- remote:远程仓库的别名(如
origin
),用于标识你与哪个远程仓库交互。
Git的基本命令
接下来,我们简单介绍一下我们在使用Git时经常使用的一些基本命令。
初始化仓库
这个命令会在当前目录下初始化一个Git仓库,生成
.git
隐藏文件夹,开始进行版本控制。查看当前状态
这个命令可以用于查看当前仓库下有哪些文件发生了变化、哪些已经被追踪、哪些准备提交。
添加变更到暂存区
将修改添加到暂存区,为提交做准备。
提交更改
将暂存区的内容提交到仓库中,形成一次新的版本记录。
查看提交历史
查看当前仓库的提交历史,包括提交人、时间和提交信息。
关联远程仓库
将本地仓库与远程仓库进行关联。其中,尖括号所包裹的内容是远程仓库的地址,我们会在后文讲述。
分支
在Git中,分支(branch)就像是你代码的一个“平行宇宙”。每个分支都是从某个commit出发形成的一条独立修改线。有了分支,你就可以在不影响主线(如
main
或master
)的前提下,在自己的分支尝试新功能、DeBug,最后再决定是否合并到主分支。最常见的分支操作流程:
推送到远程仓库
将本地的提交推送到远程仓库,通常用于首次推送。
拉取远程更新
从远程仓库拉取最新的更新并合并到本地分支。
📝 Git的本地配置与ssh秘钥
在将本地仓库上传至远程之前,我们需要先完成基本的用户身份配置,设置SSH密钥以便安全地连接远程仓库。
配置用户名和邮箱
首先我们需要先配置本地的Git用户名和邮箱,Git使用这两个信息来标识每一次提交的作者。
设置完后,你的每次 commit 都会带上这个身份信息。
--global
表示这个设置对你当前用户的所有仓库生效。你可以使用以下指令检查配置。
生成SSH密钥
ssh是一种加密通信协议,最初用于远程登录服务器。在Git中,SSH被用作一种安全的身份认证方式,用于在你和远程仓库之间传输代码时确认你的身份。
SSH 使用一对密钥来验证身份:
- 私钥(private key):保存在你自己的电脑上,严禁泄露。
- 公钥(public key):上传到远程仓库网站(如 GitHub)。
验证方式如下:
当你执行git push时,GitHub会查看你发送请求的设备是否持有对应的私钥。如果和它存储的公钥匹配,验证通过。
一台设备理论上只需要一个ssh秘钥,后续其他需要ssh的场景可重复使用之前生成的秘钥。我们可以通过以下指令生成一对ssh秘钥:
按提示一路回车即可。生成的密钥会保存在:
添加SSH公钥到GitHub
接下来,我们将SSH公钥上传至远程仓库,使得远程仓库平台能够识别我们的身份。
- 打开
~/.ssh/id_ed25519.pub
文件,复制里面的全部内容。
- 登录 GitHub → 点击头像 → Settings → SSH and GPG keys。
- 点击 New SSH key,粘贴公钥,保存即可。
可以通过以下指令测试SSH是否配置成功如果配置成功,你会看到一段提示:
完成这些配置后,你就可以通过 SSH 的方式与 GitHub 通信了,后续使用
git push
、git pull
时无需每次输入账号密码,既安全又便捷。📝 GitHub上的基本操作
GitHub是一个国外的基于Git的远程代码托管平台,其URL为github.com。国内裸连GitHub是一件很看运气的事情,最稳妥的方法还是使用一些科学上网手段。
在使用GitHub前,你需要先注册账号(并最好完成学生认证)。在注册好账号之后,你就可以点击右上角
+
→ New repository
创建新远程仓库了。在创建仓库过程中,你需要填写仓库名称、描述,选择是否公开(public)或私有(private,即非你授权的用户不可见),点击 Create repository
创建。创建与上传仓库(Repo)
创建仓库后,你可以通过SSH或HTTPS地址克隆到本地:
上面的链接可以在仓库中”Code”按钮中找到。如图,在点开”Code“按钮后,GitHub会提供HTTPS/SSH的下载链接,以及直接Download Source(源代码)的入口。
如果你已经在本地创建好了仓库,也可以直接推送本地修改到GitHub:
后续推送时,
push -u
可改用为push
以简化操作:点击仓库中的
Commits
或单个文件中的 History
,可以查看历史提交记录。每次提交都可以展开查看差异(diff)和修改内容。创建合并请求 Pull Request(PR)
- 创建一个分支并在该分支中进行修改提交;
- 提交后在GitHub的仓库页面点击
Compare & pull request
创建PR,请求合并到主分支;
- 审核通过后可以点击
Merge pull request
自动在远程完成合并。
Star / Watch / Fork / Issues
- Star:表示你喜欢该项目;
- Watch:订阅项目更新;
- Fork:复制项目到你自己的账户下,进行独立开发,适合参与开源项目或保留副本;你可以用
git clone
将其克隆到本地进行进一步开发;
- Issues:问题追踪与任务管理系统(类似于发帖),用于记录bug、功能请求、想法讨论或待办事项。
最后,想将国内代码托管平台Gitee的Slogan分享给大家:
让每一行代码,都有改变世界的力量!
Happy coding~ 🚀💻✨
上一篇
编程自学指南
下一篇
AI入门准备
Loading...