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流

  • 创建分支:通过创建分支,可以创建一个工作空间,而不会影响默认分支。
  • 进行更改
  • 创建拉取请求:要求协作者对你的更改进行反馈。
  • 解决审查评论
  • 合并拉取请求:拉取请求获得批准后,合并你的拉取请求。 这将自动合并你的分支,以便你的更改显示在默认分支上。
  • 删除分支:合并拉取请求后,删除您的分支。 这表明分支的工作已经完成,可防止您或其他人意外使用旧分支。
相关推荐
427724002 小时前
IDEA使用git不提示账号密码登录,而是输入token问题解决
java·git·intellij-idea
利刃大大9 小时前
【Git】五、多人协作
git
逸Y 仙X16 小时前
Git常见命令--助力开发
java·大数据·git·java-ee·github·idea
wgslucky18 小时前
pipeline 使用git parameter插件实现动态选择分支构造
git
春天姐姐20 小时前
vue3项目开发总结
前端·vue.js·git
{⌐■_■}1 天前
【git】工作流实战:从本地仓库到远程仓库,git pull 与git rebase使用讲解,案例解析
git
大溪地C1 天前
Git 合并冲突解决与状态分析笔记
笔记·git
CsbLanca1 天前
Git配置个人和公司的提交信息,通过‘目录配置‘
git
娶个名字趴1 天前
Git企业开发
git
fruge2 天前
git上传 项目 把node_modules也上传至仓库了,在文件.gitignore 中忽略node_modules 依然不行
大数据·git·elasticsearch