【Git入门】

Git 配置命令

bash 复制代码
git config --global user.name "xxx"
git config --global user.email xxx@gmail.com

# 查看配置信息 
git config --list

# 生成 SSH 密钥
ssh-keygen -t rsa -b 4096 -C "xxx@gmail.com"

Git 工作流程 && 常用命令

bash 复制代码
# 克隆远程仓库
git clone xxxx

# 查看工作区状态
git status

# 添加到缓存区
git add <修改的文件>

# 提交修改
git commit

# 推送
git push
  • 创建新分支
bash 复制代码
git checkout -b new-feature
  • 暂存
bash 复制代码
git add .
  • 提交修改
bash 复制代码
git commit -m "提交信息"
  • 拉取修改
bash 复制代码
git pull origin main
  • 推送更改
bash 复制代码
git push origin XXX
  • 合并修改
bash 复制代码
git check main
git pull origin main
git merge new-feature
  • 删除分支
bash 复制代码
git branch -d new-feature

或者从远程仓库删除分支:

bash 复制代码
git push origin --delete new-feature
  • 查看提交历史
bash 复制代码
git log
  • 查看工作区和暂存区的差异
bash 复制代码
git diff

Git 创建仓库

使用当前目录作为git仓库,我们要进行初始化

bash 复制代码
git init

执行命令后在当前目录生成一个.git目录

Git 分支管理

  • 创建分支
    创建新分支并切换到该分支:
bash 复制代码
git checkout -b <branchname>
  • 查看分支
    查看所有分支:
bash 复制代码
git branch

查看远程分支:

bash 复制代码
git branch -r

查看所有本地和远程分支:

bash 复制代码
git branch -a
  • 合并分支
    将其他分支合并到当前分支:
bash 复制代码
git merge <branchname>
  • 删除分支
    删除本地分支:
bash 复制代码
git branch -d <branchname>

强制删除未合并的分支:

bash 复制代码
git branch -D <branchname>

删除远程分支:

bash 复制代码
git push origin --delete <branchname>

恢复和回退

Git 提供了多种方式来恢复和回退到之前的版本,不同的命令适用于不同的场景和需求。

以下是几种常见的方法:

git checkout:切换分支或恢复文件到指定提交。
git reset:重置当前分支到指定提交(软重置、混合重置、硬重置)。
git revert:创建一个新的提交以撤销指定提交,不改变提交历史。
git reflog:查看历史操作记录,找回丢失的提交。

  • git reset:重置当前分支到特定提交

git reset 命令可以更改当前分支的提交历史,它有三种主要模式:--soft、--mixed 和 --hard。

--soft:只重置 HEAD 到指定的提交,暂存区和工作目录保持不变。

bash 复制代码
git reset --soft <commit>

--mixed(默认):重置 HEAD 到指定的提交,暂存区重置,但工作目录保持不变。

bash 复制代码
git reset --mixed <commit>

--hard:重置 HEAD 到指定的提交,暂存区和工作目录都重置。

bash 复制代码
git reset --hard <commit>

Git 进阶操作

  • Git Stash:临时保存工作进度,方便切换任务。
  • Git Rebase:将一个分支上的更改移到另一个分支之上,保持提交历史线性。
    • git pull --rebase :
    • 假设你的提交历史是 A-B-C,远程有人提交了 D:
      1. 你的状态:A-B-C(C 是你的本地提交)。
      2. 远程状态:A-B-D
      3. 执行 git pull --rebase:
        • Git 会先把 C 拿掉,暂存起来。
        • 把本地分支更新到 D(变成 A-B-D)。
        • 把 C 重新应用在 D 之后(变成 A-B-D-C')。
  • Git Cherry-Pick:选择特定提交并应用到当前分支。
相关推荐
starzy199042 分钟前
Flink高级之富函数类深度剖析:执行时序、状态注册与序列化陷阱
大数据·flink
一切如来心秘密1 小时前
智驾数据闭环湖仓实战: Apache Paimon 分层建模实践
大数据·智驾数据闭环
tedcloud1238 小时前
Wand-Enhancer 怎么搭建?开源 Wand 客户端增强与远程控制工具介绍
大数据·服务器·人工智能·开源·音视频
大大大大晴天10 小时前
每天认识一个组件:分布式缓存Alluxio
大数据
AI_Auto11 小时前
架构视角看数字化转型|核心架构:大共享平台+小应用,从按需走向适变
大数据·人工智能·架构·制造
小蒋观天下11 小时前
社区AI智能摄像头完整选型指南
大数据·人工智能·安全·计算机视觉·语音识别·ai大模型
AI 思录11 小时前
Prompt 事故档案(八):日常表达被标为“待校准”,AI 的爹味语法从哪里来
大数据·人工智能·算法·prompt·用户体验·ai合规
2601_9657422213 小时前
全媒体运营与短视频代运营,两者有什么区别?
大数据·数据结构·人工智能·算法·ai·媒体
anxiao_m14 小时前
2026企业AI数字孪生选型攻略,不同场景对应不同解决方案
大数据·网络·数据库
SelectDB14 小时前
从 ClickHouse 迁移到 Doris:SQL 兼容、同步与验证清单(实战笔记)
大数据·数据库·数据分析