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流

  • 创建分支:通过创建分支,可以创建一个工作空间,而不会影响默认分支。
  • 进行更改
  • 创建拉取请求:要求协作者对你的更改进行反馈。
  • 解决审查评论
  • 合并拉取请求:拉取请求获得批准后,合并你的拉取请求。 这将自动合并你的分支,以便你的更改显示在默认分支上。
  • 删除分支:合并拉取请求后,删除您的分支。 这表明分支的工作已经完成,可防止您或其他人意外使用旧分支。
相关推荐
Zach_yuan1 小时前
版本控制器Git
linux·git
唐青枫6 小时前
Git 提交时神秘的 create mode 100644 到底是什么?一文告诉你答案!
git
春生野草6 小时前
Git-git stash与分支管理
git
ljh5746491196 小时前
Git合并冲突解决方法
git
悟能不能悟6 小时前
git revert commit和undo commit的区别
git
222you18 小时前
Git的diff命令
git
补三补四20 小时前
Git 基础操作指南
大数据·git·elasticsearch
222you1 天前
git的命令
git
Coolbike1 天前
Git工作流
git
~央千澈~1 天前
实战针对本地项目git如何移除旧仓库关联并且添加关联新仓库-优雅草卓伊凡
git