git基础语法回顾

1. 初始化与克隆

  • git init
    初始化一个新的本地仓库。
  • git clone <repo-url>
    克隆远程仓库到本地(如 git clone https://github.com/user/repo.git)。

2. 基础操作

  • git add <file>
    将文件添加到暂存区(如 git add main.py)。
    • git add .git add -A:添加所有变更文件。
  • git commit -m "提交信息"
    提交暂存区的变更到本地仓库。
    • git commit -am "提交信息":直接提交已跟踪文件的修改(无需 add)。
  • git status
    查看工作区和暂存区的状态。
  • git diff
    查看未暂存的变更内容。
    • git diff --cached:查看已暂存的变更。

3. 分支管理

  • git branch
    列出所有本地分支(-a 查看所有分支,包括远程)。
  • git branch <branch-name>
    创建新分支。
  • git checkout <branch-name>
    切换到指定分支。
    • git checkout -b <branch-name>:创建并切换到新分支(等效于 git switch -c)。
  • git merge <branch-name>
    将指定分支合并到当前分支。
  • git rebase <branch-name>
    变基操作(将当前分支的提交移到目标分支的顶部)。
  • git branch -d <branch-name>
    删除本地分支(-D 强制删除未合并的分支)。

4. 远程仓库操作

  • git remote -v
    查看远程仓库地址。
  • git remote add <name> <url>
    添加远程仓库(如 git remote add origin https://github.com/user/repo.git)。
  • git push <remote> <branch>
    推送本地分支到远程仓库(如 git push origin main)。
    • git push -u origin main:首次推送时设置上游分支。
    • git push --force:强制推送(谨慎使用)。
  • git pull <remote> <branch>
    拉取远程分支并合并(等效于 git fetch + git merge)。
    • git pull --rebase:拉取时使用变基而非合并。
  • git fetch <remote>
    下载远程仓库的变更,但不合并。

5. 撤销与回退

  • git restore <file>
    撤销工作区的修改(未 add 的变更)。
  • git reset <file>
    将文件移出暂存区(保留工作区修改)。
    • git reset --hard HEAD:丢弃所有未提交的变更(慎用!)。
    • git reset --hard <commit-id>:回退到指定提交(会丢失之后的提交)。
  • git revert <commit-id>
    创建一个新提交来撤销指定提交(安全回退方式)。

6. 日志与历史

  • git log
    查看提交历史。
    • git log --oneline:简洁模式。
    • git log --graph:图形化显示分支。
  • git show <commit-id>
    查看某次提交的详细信息。
  • git blame <file>
    查看文件的修改记录(按行显示作者)。

7. 暂存临时工作

  • git stash
    临时保存未提交的变更。
    • git stash pop:恢复最近暂存的变更。
    • git stash list:查看所有暂存记录。

8. 标签管理

  • git tag
    列出所有标签。
  • git tag -a v1.0 -m "版本说明"
    创建附注标签。
  • git push origin --tags
    推送所有标签到远程仓库。

9. 配置相关

  • git config --global user.name "姓名"
    设置全局用户名。
  • git config --global user.email "邮箱"
    设置全局邮箱。
  • git config --list
    查看当前配置。

常用场景示例

  1. 首次推送本地项目到远程仓库

    bash 复制代码
    git init
    git add .
    git commit -m "Initial commit"
    git remote add origin <repo-url>
    git push -u origin main
  2. 修复提交信息

    bash 复制代码
    git commit --amend -m "新的提交信息"
  3. 合并分支并解决冲突

    bash 复制代码
    git checkout main
    git merge feature-branch
    # 手动解决冲突后
    git add .
    git commit

掌握这些命令可以应对 90% 的日常 Git 操作。更复杂的用法(如 rebase -i、子模块等)可查阅 Git 官方文档

相关推荐
数据大魔方1 小时前
【期货量化实战】跨期套利策略:价差交易完整指南(TqSdk源码详解)
数据库·python·算法·github·程序员创富
数据大魔方2 小时前
【期货量化实战】螺纹钢量化交易指南:品种特性与策略实战(TqSdk完整方案)
python·算法·github·程序员创富·期货程序化·期货量化·交易策略实战
起个名字总是说已存在4 小时前
cursor如何拉取远程gitee代码到本地
gitee
Token_w4 小时前
昇腾 (Ascend) NPU 实战指南:在 GitCode Notebook 中玩转 CodeLlama
gitcode·昇腾
Cx330❀4 小时前
Git 多人协作全攻略:从入门到高效协同
大数据·elasticsearch·搜索引擎·gitee·github·全文检索·gitcode
BORN(^-^)5 小时前
Git 操作概要
git
CoderJia程序员甲6 小时前
GitHub 热榜项目 - 日榜(2026-1-9)
开源·大模型·llm·github·ai教程
进击中的小龙6 小时前
基于rtklib的载波相位平滑伪距
c语言·算法·数学建模·gitee
bigHead-8 小时前
Git合并操作详解:安全高效地合并远程分支
git·安全·elasticsearch
C_心欲无痕8 小时前
ts - 交叉类型
前端·git·typescript