【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:选择特定提交并应用到当前分支。
相关推荐
Elasticsearch2 小时前
从判断列表到训练好的 Learning to Rank( LTR )模型
elasticsearch
ManageEngineITSM2 小时前
功能越来越强,但 IT 使用体验却越来越差
大数据·excel·资产管理·itsm·工单系统
YA8888888888892 小时前
数字时代B端拓客:号码核验的价值重构与行业突围,氪迹科技法人股东号码筛选系统,阶梯式
大数据·人工智能·重构
昨夜见军贴06162 小时前
AI审核重构行业底层能力:IACheck如何打造人机协同的智能审核“双引擎”体系
大数据
大大大大晴天️2 小时前
Flink-Hudi技术实践:Upsert场景开发实践
大数据·flink·hudi
人工智能培训2 小时前
样本效率与安全探索的矛盾解析及平衡路径
大数据·人工智能·深度学习·算法·机器学习·知识图谱·故障诊断
第二只羽毛2 小时前
C++ 高并发内存池4
java·大数据·linux·c++·算法
FlyChat2 小时前
自研搜索引擎实战:全栈PHP扛下核心,ES+Redis+Kafka+多语言爬虫构建高性能“智搜搜索”深度拆解
elasticsearch·搜索引擎·php
2601_949221033 小时前
2026数字会议系统榜单发布,保伦股份入选十大品牌
大数据