Git指南
Git简介
- Git 是分布式版本控制工具,核心价值在于高效管理代码变更、支持离线协作与灵活分支策略
- 对比集中式系统(如 SVN),安全性更高(本地即备份)且协作更灵活
- 下载与安装

GitHub绑定
SSH密钥
输入
ssh查看本机是否安装SSH输入
ssh-keygen -t rsa -C "任意备注"生成RSA算法公钥和私钥并一直回车直至成功打印公钥指纹-C "任意备注"便于在GitHub中更容易区分不同的SSH Key,也可省略
SSH绑定
- 输入
cat ~/.ssh/id_rsa.pub打印并复制公钥 - 登录 GitHub → Settings → SSH and GPG Keys → New SSH Key
- 输入
ssh -T git@github.com,若打印信息You've successfully authenticated则绑定成功
SSH地址
- 进入GitHub仓库复制HTTPS协议或SSH协议的下载链接
Git命令操作
全局设置
首次提交需添加邮箱信息,后续修改也可使用以下命令
1
2git config --global user.email "your@email.com"
git config --global user.name "your name"设置在
git init新仓库时,创建一个叫main的分支1
git config --global init.defaultBranch main
设置默认push行为,推送当前峰值到对应远程同名分支,若分支不存在则报错
1
git config --global push.default simple
windows平台设置:在提交时,自动将CRLF换行符
\r\n为转换为macOS和Linux的LF\n,保持仓库干净1
git config --global core.autocrlf input
查看全局设置
1
git config --global --list

远程仓库
本地提交

在工作区路径初始化
git init完成编辑后,使用
git status查看那些文件有变动
- 若存在无需提交的文件,将其加入工作区的`.gitignore`文件
添加文件索引
git add .- 再次使用
git status确认是否存在无需提交的文件 - 若有则重置索引区
git reset,并将其加入.gitignore后,重新git add .
- 再次使用
使用
git commit -m "msg of update"将修改提交至Git版本库的默认分支(main/master或其他被选中的分支)- 此操作会更新版本库目录
.git,可使用git log查看提交ID(SHA-1哈希值)和相关信息
- 此操作会更新版本库目录
使用
git show >> diff.txt可以查看具体的文件变动按照
.gitignore规则从版本库中删除指定文件- 使用
git rm -r --cached <file>删除指定文件或文件夹 --cached:把文件及其索引从版本库中删除,同时保留本地文件,若不加则本地文件同时删除- 重新创建索引
git add .,提交更改git commit -m "delete some files from .git"
- 使用
远程提交
首次需关联远程仓库
git remote add origin git@github.com:username/repo.git- 验证远程仓库
git remote -v
- 后续若需更改
git remote set-url origin git@github.com:username/repo.git- 在
set-url后使用--fetch或--push可以单独设置拉取或提交地址
- 在
- 验证远程仓库
首次提交
git push -u origin main,后续提交git push-u建立本地分支和远程分支的追踪关系(upstream)--force强制覆盖远程内容,适用于提交至GitHub新仓库(一般会自动创建README.md等多余文件),其余推送慎用
进行远程开发时,先
git pull origin main --rebase,本地开发完成后git pushgit pull --rebase效果等同于git fetch + git rebase- 先拉取最新的远程提交,
git rebase会把本地提交放到最新的远程提交后面 - 若不加
--rebase则相当于git fetch + git merge,这样会制造多余的merge commit,污染提交历史
工作流程
输入
git clone git@github.com:username/repo.git,可以直接获取远程仓库到本地仓库
在
git clone <url>中集成了多步操作- 本地新建远程仓库目录
- 初始化仓库:
git init - 添加远程地址:
git remote add origin <url> - 获取远程数据:
git fetch origin - 自动检出默认分支:
git checkout main
-
- 使用
git clone下载的仓库,不需要再次关联远程仓库,远程提交时也不需要再次设置分支追踪(upstream)
- 使用
分支管理
检出默认分支:clone时所有分支均会被下载,默认分支一般被命名为main;自动设置默认分支(Branch)为当前工作主线,其他分支隐藏
创建新分支并切换到该分支:
git checkout -b <branchname>查看分支:
git branch默认查看本地- 查看远程
-r,查看远程和本地-a
- 查看远程
合并分支:
git merge <branchname>将其他分支合并到当前分支删除本地分支:
git branch <select> <branchname>- 删除本地
-d,删除未合并分支-D
- 删除本地
删除远程分支
git push origin --delete <branchname>