Git

Git介绍

Git官网:https://git-scm.com/

Git(工具):本地版本控制系统 。

  • 项目代码变更历史(基于文件快照)
  • 本地独立运作(无网仍可提交/分支)
  • 协作兼容(通过远程仓库同步变更)
  • 分支独立开发线(默认主分支 main/master)

GitHub(平台):云端Git仓库托管服务。

  • 智能协作(代码审查/PR 流程)
  • 安全云存储(代码+版本历史)
  • 自动化工具(CI/CD/项目管理)
  • 规模化代码共享与团队高效开发中枢

Git工作流程

Git三大区:工作区、暂存区、本地仓库

远程仓库:如 Githu 和 GitLab

git add

git commit

git push

git pull

工作区

暂存区

本地仓库

远程仓库

工作区:对代码进行修改

暂存区:临时存放一个或多个待提交的内容
添加目录下所有文件

1
git add .

或 添加单个文件

1
git add 文件

本地仓库:暂存区内容 添加” 提交说明” 提交到本地仓库

1
git commit -m "提交说明"

推送远程: 将本地仓库内容提交同步到远程仓库。

1
git push

拉取更新:获取远程仓库最新代码并合并。

1
git pull

Git的安装

Git 官方下载:https://git-scm.com/downloads
Homebrew 官方下载:https://brew.sh/zh-cn/

  1. 安装 Homebrew

    1
    /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
  2. 用 Homebrew 安装 Git

    1
    brew install git

Git 命令

查看命令详细文档

1
git help <command>

常用命令

查看工作区/暂存区状态

1
git status

添加文件到暂存区
添加目录下所有文件

1
git add .

或 添加单个文件

1
git add 文件

提交暂存区内容到本地仓库

1
git commit -m "提交说明"

推送远程仓库

1
git push    

拉取远程更新

1
git pull

克隆远程仓库

1
git clone url

仓库操作

初始化 新仓库

创建 .git 目录

1
git init 仓库名

隆远程仓库 到本地

1
git clone 链接

看已配置的 远程仓库

1
git remote -v

提交与修改

添加文件到 暂存区

添加目录下所有文件

1
git add .

或 添加单个文件

1
git add 文件

提交暂存区内容 到本地仓库

1
git commit -m "提交说明"

查看 工作区/暂存区 状态

1
git status

查看 工作区与暂存区 差异

1
git diff

查看 暂存区与最新提交 差异

1
git diff --staged

丢弃工作区修改

(Git 2.23+)

1
git restore <file>

移出暂存区

(保留工作区修改)

1
git restore --staged <file>

分支管理

查看本地分支

(-a 查看所有分支)

1
git branch

创建新分支

1
git branch <name>

切换分支

1
git checkout

创建并切换分支

1
git checkout -b <branch>

合并分支到当前分支

1
git merge <branch>

变基分支

(重写提交历史)

1
git rebase <branch>

删除分支

(-D 强制删除)

1
git branch -d <branch>

历史与回退

查看 提交历史

(–oneline 简化显示)

1
git log

查看 历史详细修改内容

1
git log -p

查看 文件每行修改者

1
git blame <file>

回退到指定提交

(–soft 保留修改,–hard 彻底丢弃慎用!)

1
git reset <commit>

撤销指定提交

(生成新提交,安全回退)

1
git revert <commit>

远程协作

下载远程更新

(不自动合并)

1
git fetch

推送本地提交到远程分支

1
git push

拉取远程更新并合并

(= fetch + merge)

1
git pull

首次推送并设置上游分支

1
git push -u origin <branch>

强制推送

(覆盖远程历史慎用!)

1
git push --force

高级工具

临时保存工作区修改

(切换分支救星)

1
git stash

恢复最近保存的工作区

1
git stash pop

创建标签

(标记版本)

1
git tag <name>

二分查找定位问题提交

1
git bisect

复制指定提交到当前分支

1
git cherry-pick <commit>

全局配置

设置全局用户名

1
git config --global user.name "xxx"

设置全局邮箱

1
git config --global user.email "xxx"

Git 图形化工具

Git 图形化工具:

GitKraken(跨平台)

Sourcetree(Win/Mac)