之前也用过一次git,加上昨天的一些使用心得
看的教程在这里:https://zhuanlan.zhihu.com/p/193140870
首先依旧感谢大佬的这篇文档,帮我解决了新手不知道怎么开始的难题。
这篇博客加入我对于大佬教程的总结以及我自己的补充。
GitHub SSH Key 配置核心总结
SSH Key 是电脑设备与 GitHub 账户间的安全身份绑定凭证,如同二者通信的专属安全阀门,配置后可免密操作 GitHub 仓库,兼顾安全与便捷。
Git 生成的 SSH 密钥默认存放路径为 C/Users/name/.ssh,若该路径未找到密钥文件,可通过以下指令生成:
ssh-keygen -t rsa -C "xxxxxx@163.com"该指令通过 ssh-keygen 工具基于 RSA 算法生成密钥对,后缀的邮箱建议填写 GitHub 注册邮箱,也可自定义备注,核心作用是区分多设备、多 GitHub 账户的密钥(如一台设备绑定多个 GitHub 账户时,需为每个账户配置独立密钥,备注可快速识别对应密钥)。 密钥生成后,.ssh 路径下会生成私钥和公钥一对文件:公钥以 .pub 为后缀,可公开使用;私钥无后缀,需妥善保存在本地,切勿泄露。
将公钥内容完整复制,粘贴至 GitHub 个人主页的 SSH Key 配置页完成绑定,即可实现设备与 GitHub 账户的安全联动。绑定成功后,就能通过 SSH 方式安全、免密地完成仓库克隆、代码推送 / 拉取等日常操作。
本地仓库的创建
我们进入需要上传的项目根目录,在此打开git-bash,
输入git-init,
后续目录中会出现一个隐藏文件夹.git,他专门用于跟踪仓库的版本管理
接着输入git add .将文件添加到仓库,可以理解为将东西打包好准备
然后,输入git commit -m"提交文件"把文件提交到仓库,引号内的内容是注释用于记录你的操作,至此本地仓库完成创建
本地仓库与 Github 仓库对应绑定
先在 Github 中创建好对应仓库后,记录下对应的 SSH 地址,我这里是 git@github.com:Skyloveyz3/SkyloveBlog.git
然后执行指令 git remote add origin git@github.com:Skyloveyz3/SkyloveBlog.git,完成这一步我们就实现了本地仓库与 Github 仓库的绑定,后续可以进行 pull、push 操作。
当然我这里一开始用的是 mizuki 作者本身的开源项目直接下载下来用的,原本的 Git 绑定的是作者的仓库。git remote remove origin 这个指令可以解绑原先已绑定的仓库(解绑前可先用 git remote -v 查看当前远程绑定情况)。日常开发中,本地仓库默认只绑定一个名为 origin 的远程 Github 仓库,满足绝大多数使用场景。
本地文件的上传
首次代码推送需要用到指令:git push -u origin master对文件进行提交,因为需要建立本地分支和远程分支的关联,否则 Git 不知道要推送到远程的哪个分支,可能报错。
后续我们再对项目进行修改后,想要同步这些改动,首先可以执行 git add . 指令,将当前目录下所有新增、修改、删除的文件一次性暂存到暂存区(可理解为「把所有改动重新打包整理,为提交做准备」)。
如果你的需求更精细——比如只需要上传部分特定文件、部分文件夹,或者还有些改动未完善暂时不想提交,建议先通过以下步骤精准操作,避免误提交:
- 先审查项目整体变动:
git status执行该指令可以清晰查看项目相对上一版本的所有变动细节,终端会以不同颜色标注状态:- 「红色」:未暂存的改动/新增/删除文件
- 「绿色」:已暂存等待提交的文件 通过它能快速明确哪些文件有改动,方便后续针对性选择暂存内容。
- (可选)查看具体改动内容:
git diff若想知道某文件具体改了哪些内容(比如哪一行新增、哪一行删除),可执行该指令,它会逐行显示文件的变动细节,比git status更深入,适合改动较多时确认修改内容是否符合预期。 - 针对性暂存单个/部分文件(替代
git add .) 无需打包所有改动,可按需选择暂存对象:- 暂存单个文件:
git add 目标文件名.html(例:git add index.html) - 暂存整个文件夹:
git add 目标文件夹名/(例:git add css/)
- 暂存单个文件:
完成后执行git commit -m"注释说明做了哪些改动" ,完成本地仓库的文件添加。接着git push完成远程仓库更新
远程仓库文件下载同步
直接执行git pull即可实现将远程仓库最新版文件一键同步本地客观文件
他本质是
git fetch(下载远程最新版本到本地仓库)git merge(合并远程修改到本地实际文件)两个指令分开执行
进阶Q&A
如果我操作失误了想要撤回怎么办
Git 提供了多种撤回操作,核心是「根据失误的不同阶段选择对应指令」,新手优先选择安全、不可逆风险低的方式,以下是最常见的 3 种场景:
场景1:仅在本地修改了文件,还未执行 git add(最易撤回)
失误描述:改乱了文件内容,还没把修改暂存,想恢复到「上一次提交的干净版本」。 操作指令:直接执行以下指令,一键撤回所有未暂存的修改:
# 撤回所有文件的未暂存修改git checkout .
# (可选)仅撤回单个文件的未暂存修改(更精准)git checkout 目标文件名.html # 例:git checkout index.html说明该操作仅恢复文件内容,不会删除新增的未追踪文件(比如新建的 new.js),安全无风险,修改的内容会直接丢失(无法恢复,确认不需要再执行)。
场景 2:已经执行 git add 暂存了修改,还未执行 git commit
失误描述:误把不需要的文件暂存了,想撤销暂存,回到「未暂存」状态,再决定是否保留修改。 操作指令:分两步,先撤销暂存,再按需撤回修改
- 撤销所有文件的暂存状态(回到工作区,修改内容会保留)
git reset HEAD .- (可选)如果想同时放弃修改,恢复到干净版本,再执行场景 1 的指令:
git checkout .场景 3:已经执行 git commit 暂存了修改,还未执行 git push
失误描述:提交了不理想的修改到本地仓库,想回滚到上一个干净的提交版本。
操作指令:推荐操作(安全,保留修改):
# 回滚到上一个提交版本,本次失误提交的修改会保留在工作区git reset --soft HEAD^说明:
- HEAD^ 代表「上一个提交版本」,HEAD^^ 代表「上上个版本」,以此类推。
- 该操作不会删除任何修改内容,只是把「失误提交」从本地仓库撤回,修改会回到工作区,你可以重新调整后再提交。
- (慎用)如果想彻底删除本次失误提交的所有修改(不可逆),可执行:
git reset --soft HEAD^
警告:—hard 参数会彻底丢失本次修改,无法恢复,执行前一定要确认修改无保留价值。
部分信息可能已经过时













