之前一直在用编辑器自带的Git相关功能,都是GUI操作,一键提交push那种,而且登陆只需要输入Token就能直接操作,终端Git接触的少之又少,其实说实话,离开GUI操作,终端上的Git是真的不太会用,最近打算重新学习一下终端Git的使用,顺手写了这篇笔记。
Git是什么
Git(读音为/gɪt/)是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。也是Linus Torvalds为了帮助管理Linux内核开发而开发的一个开放源码的版本控制软件。
Github是GitHub是一个面向开源及私有软件项目的托管平台,因为只支持Git作为唯一的版本库格式进行托管,故名GitHub。GitHub拥有1亿以上的开发人员,400万以上组织机构和3.3亿以上资料库。
Git安装教程
我的日用系统是Arch Linux,这里用Arch Linux做为示例
Arch Linux
1 |
|
这样应该就安装好了
Git基础配置
装好Git后先别急着敲命令,配置好用户信息才能正确提交代码,不然你可能会变成「无名氏贡献者」
设置全局用户名和邮箱
1 |
|
建议和GitHub/Gitee等平台注册的邮箱保持一致,这样提交记录才能关联到你的账户
终端Git生存必备指令
你可能已经习惯了GUI的点点按钮,但命令行才是Git的完全体!(中二感拉满)
本地操作三连
1 |
|
分支管理魔法
1 |
|
远程仓库
一直在本地提交也不是个办法,来提交到远程仓库
连接远程仓库
1 |
|
祖传Token登录
还在记密码?2024年了该用Token了!这才是现代人的优雅姿势,而且Github也不支持密码登陆了:
生成个人访问令牌(以GitHub为例)
- 进入 GitHub → Settings → Developer settings → Personal access tokens → Tokens (classic)
- 勾选repo权限(一般选前5个就够用)
- 生成后会得到一串类似
ghp_xxx
的Token,它只会显示一次,建议当场复制保存
修改远程仓库地址
把常规HTTPS地址:1
https://github.com/用户名/仓库名.git
改造为Token专属形态:
1
https://你的用户名:你的Token@github.com/用户名/仓库名.git
示例:
1
git remote add origin https://octocat:ghp_abc123def456@github.com/octocat/Hello-World.git
日常操作丝滑三连
1
2
3
4
5
6
7
8# 克隆仓库时直接认证
git clone https://用户名:Token@github.com/用户名/仓库.git
# 推送代码时自动验证
git push origin main
# 拉取更新也不输密码
git pull origin main
SSH密钥登陆
还在用Token登录?试试更优雅的SSH方式:
- 生成密钥对(把邮箱换成你的)
1 |
|
- 一路回车(除非你想设置密码)
- 读取公钥粘贴到GitHub
1 |
|
常见翻车现场急救
手滑commit了不该提交的内容
1 |
|
代码冲突解决指南
当看到「CONFLICT」字样时:
- 打开冲突文件
- 找到<<<<<<<和>>>>>>>标记
- 手动选择要保留的代码
- 重新add+commit
双修党的灵魂拷问
Token vs SSH怎么选?
特性 | Token登录 | SSH密钥 |
---|---|---|
适用协议 | HTTPS | SSH |
认证方式 | 每次推送带Token | 密钥对自动认证 |
安全性 | 需防Token泄露 | 私钥不泄露就稳如老狗 |
适用场景 | 临时操作/第三方客户端 | 长期开发主力机 |
防翻车秘籍
- Token安全三原则:
- 别把Token直接写进脚本(小心
history
命令出卖你) - 用
~/.netrc
文件藏Token(格式:machine github.com login 用户名 password Token
) - 定期到GitHub后台回收过期Token
- 别把Token直接写进脚本(小心
- 紧急情况处理:
1
2# 如果手抖暴露了Token,立即执行:
git remote set-url origin 新仓库地址 # 火速更换远程地址
写在最后
其实终端Git就像Vim,刚开始可能觉得反人类,但熟练后行云流水的操作会带来奇妙的愉悦感。建议新手先从小仓库练起,把常用命令写在便签上,忘记的时候随时瞟一眼。下次可能会写一篇「Git后悔药大全」,教你怎么用 reflog穿越时空(笑)
梦泽Hexo文章模板