Git指南

Git简介

Git安装

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

img

Git框架

  • Workspace:工作区是本地计算机上的项目目录,在这里进行文件的创建、修改和删除操作
  • Stage/Index:暂存区是一个临时存储区域,它包含了即将被提交到版本库中的文件快照(索引),在提交之前,你可以选择性地将工作区中的修改添加到暂存区
  • Repository:版本库包含项目的所有版本历史记录。,工作区有一个隐藏目录.git是 Git 的版本库

img

工作流

img
  • 克隆仓库:要参与一个已有的项目,首先需要将远程仓库克隆到本地
  • 创建新分支:为了避免直接在 main 或 master 分支上进行开发,通常会创建一个新的分支
  • 修改副本:在工作目录中进行代码编辑、添加新文件或删除不需要的文件
  • 暂存修改:将修改过的文件添加到暂存区,以便进行下一步的提交操作
  • 提交修改:将暂存区的更改提交到本地仓库,并添加提交信息
  • 拉取最新更新:在推送本地更改之前,最好从远程仓库拉取最新的更改,以避免冲突
  • 推送修改:将本地的提交推送到远程仓库

GitHub仓库

  • 利用SSH来完成GitHub的绑定并提交文件
  • SSH专为会话和其他网络服务提供安全性的协议,加密压缩数据、加快传输速度

SSH密钥

  • 右键打开Git Bash,输入ssh查看本机是否安装SSH

  • 输入ssh-keygen -t rsa生成RSA算法公钥和私钥,若成功则打印公钥指纹

image-20250709141654216

SSH绑定

  • Git Bash中输入cat ~/.ssh/id_rsa.pub打印并复制公钥
  • 登录 GitHub → Settings → SSH and GPG Keys → New SSH Key
  • Git Bash中输入ssh -T git@github.com,若打印信息You've successfully authenticated则绑定成功

SSH地址

  • 进入GitHub仓库复制HTTPS协议或SSH协议的下载链接
image-20250709141636991

Git操作

远程推送

  • 初始化本地Git仓库git init
  • 关联远程仓库git remote add origin git@github.com:username/repo.git
    • 验证远程仓库git remote -v
    • 更改远程仓库git remote set-url origin git@github.com:username/repo.git
  • 添加文件到缓存区git add .
    • 重置暂存区git reset
    • 设置忽略文件或目录git add .gitignore
1
2
3
4
5
6
Output/
jre/
RiscvCompiler.jar
compiler_icon.ico
setup.iss
toolchain/
  • 使用git commit -am "msg of update"将修改提交至本地仓库
    • 此操作会更新本地.git目录,是上传远程前的必要步骤
    • 完成后可使用git log查看本次更新的提交信息及哈希值
    • 使用git status查看还未提交的文件
  • 拉取远程变更合并git pull origin main
  • 推送至主分支git push -u origin main
    • -u将本地main分支与远程origin(远程主机)/main(默认分支)分支建立联系,未来在该分支只需输入 git pushgit pull 即可自动关联到 origin/main
image-20250709142916006
  • 首次提交需添加邮箱信息,后续修改邮箱信息也可使用以下命令

    1
    2
    git config --global user.email "your@email.com"
    git config --global user.email "your name"

本地下载

  • Git Bash中输入git clone git@github.com:username/repo.git,获取远程仓库到本地仓库(工作区)
image-20250709142631646
  • git clone <url>中集成了多步操作
    • 本地新建远程仓库目录
    • 初始化仓库:git init
    • 添加远程地址:git remote add origin <url>
    • 获取远程数据:git fetch origin
    • 自动检出默认分支:git checkout main

分支管理

  • 检出默认分支:clone时所有分支均会被下载,默认分支一般被命名为main或者master;自动设置默认分支(Branch)为当前工作主线,其他分支隐藏

  • 创建新分支并切换到该分支:git checkout -b <branchname>

  • 查看分支:git branch默认查看本地

    • 查看远程-r,查看远程和本地-a
  • 合并分支:git merge <branchname>将其他分支合并到当前分支

  • 删除本地分支:git branch <select> <branchname>

    • 删除本地-d,删除未合并分支-D
  • 删除远程分支git push origin --delete <branchname>