Git 快速入门

Git 是什么?

  • Git 是一个分布式版本控制系统
  • 四大区域:
    • 工作区:项目文件的当前状态,即本地目录。
    • 暂存区:保存将要提交 的文件快照 ,是一个中间层,使用git add将文件添加到暂存区。
    • 本地仓库:保存已提交 的文件快照,使用git commit提交到本地仓库。
    • 远程仓库:通过git push将更改推送到远程,通过git pull拉取远程更新。

Git 的工作流程

  • 初始化仓库:通过git init创建.git文件夹,包含所有版本控制相关信息。
  • 文件跟踪:
    • 未跟踪文件:刚创建的文件,Git 尚未跟踪
    • 跟踪文件:已被Git 管理的文件,有三种状态:
      • 未修改:文件未更改。
      • 已修改:文件在工作区被修改。
      • 已暂存:文件被添加到暂存区。
  • 基本操作流程:
    • 修改文件:在工作区中编辑文件。
    • 暂存更改:使用git add将修改添加到暂存区。
    • 提交更改:使用git commit将暂存区的文件提交到本地仓库。
  • 分支管理:
    • 分支是对提交快照的指针,可以并行开发。
    • git branch:列出本地分支。
    • git branch -r:列出远程分支。
    • git branch -a:列出本地和远程的所有分支。
    • git checkout <分支名>git switch <分支名>:切换分支。
    • git merge <分支名>:合并指定分支到当前分支。
    • git branch -d <分支名>:删除本地分支(需合并后才能删除,使用 -D 强制删除)。
    • git push origin --delete <分支名>:删除远程分支。
  • 远程操作:
    • 使用git clone克隆远程仓库到本地。
    • 使用git pull拉取远程更新。
    • 使用git push推送本地提交到远程仓库。

基本Git 命令

  • 创建与初始化:
    • git init:初始化一个空的Git 仓库。
    • git clone <url>:克隆远程仓库到本地。
  • 跟踪文件:
    • git add <file>:将文件添加到暂存区。
    • git commit -m "<message>":将暂存区内容提交到本地仓库,可附加备注消息。
  • 查看状态:
    • git status:查看工作区、暂存区的状态。
    • git log:查看提交历史。
  • 分支和合并:
    • git branch:列出分支。
    • git checkout:切换分支。
    • git merge:合并分支。
  • 远程操作:
    • git pull:拉取远程更新。pullfetchmerge的组合。
    • git push <远程名称> <分支名称>:推送本地提交到远程仓库的指定分支。

设置Git

  • 下载Git
  • 设置用户名
    • 全局设置:git config --global user.name "Your GitHub Name"
    • 当前仓库设置:git config user.name "Your GitHub Name"
  • 设置邮件地址:
    • 全局设置:git config --global user.email "Your GitHub Email"
    • 当前仓库设置:git config user.email "Your GitHub Email"

关于远程仓库

  • 添加远程仓库:git remote add <远程名称> <远程url>
  • 更改远程仓库的URL:git remote set-url
  • 重命名远程仓库:git remote rename <远程原名> <远程新名>
  • 删除远程仓库:git remote rm <远程名称>

GitHub流

  • 创建分支:通过创建分支,可以创建一个工作空间,而不会影响默认分支。
  • 进行更改
  • 创建拉取请求:要求协作者对你的更改进行反馈。
  • 解决审查评论
  • 合并拉取请求:拉取请求获得批准后,合并你的拉取请求。 这将自动合并你的分支,以便你的更改显示在默认分支上。
  • 删除分支:合并拉取请求后,删除您的分支。 这表明分支的工作已经完成,可防止您或其他人意外使用旧分支。
相关推荐
@PHARAOH8 小时前
HOW - 基于master的a分支和基于a的b分支合流问题
前端·git·github·分支管理
Lucky GGBond11 小时前
git远程仓库如何修改
java·git
扎克begod12 小时前
Git进阶笔记系列(01)Git核心架构原理 | 常用命令实战集合
java·git·架构·github·springboot
樊南16 小时前
【esp32-uniapp小程序】uniapp小程序篇02——Hbuilder利用git连接远程仓库
git·小程序·gitee·uni-app·hbuilder·torisegit
王景程1 天前
GitHub的主要用途及核心功能
git·github
Мартин.1 天前
[Meachines] [Easy] LinkVortex Git leakage+Ghost 5.58+Double Link Bypass权限提升
git
甜到心里的蛋糕1 天前
github汉化
git·github
可涵不会debug1 天前
【C++】在线五子棋对战项目网页版
linux·服务器·网络·c++·git
Amy_cx2 天前
卸载和安装Git小乌龟、git基本命令
git
铃响十分2 天前
make/Makefile、进度条、git
git