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 官方文档

相关推荐
逛逛GitHub10 小时前
慢慢吃掉你的 Claude Code,在终端里养一只黑洞。
github
jump_jump16 小时前
为了重玩金庸群侠传,我研究了一下 Ruffle 怎么复活 Flash
游戏·rust·github
LinXunFeng1 天前
Obsidian - 使用 Share Note 分享笔记并自部署
前端·笔记·github
DayDaydream1 天前
7 天涨了 8000+ Star,Agent Reach 想给 AI 装上互联网眼睛
github
天衍四九3 天前
Git从0到实战(四):冲突解决与版本回退 —— 别怕,出错了也能救
github
大刚测试开发实战3 天前
如何内网穿透访问本地私有化部署的TestHub
前端·后端·github
uhakadotcom4 天前
在python 的 工程化架构中 ,什么是 薄包装器层?
后端·面试·github
Avan_菜菜4 天前
AI 能写代码了,为什么我反而开始要求它先写文档?
前端·github·ai编程
逛逛GitHub5 天前
这个爆红的 GitHub 项目让 token 直接省 60–95%。
github
iccb10135 天前
5年,一个程序员是如何把私有化在线客服系统做到第一名的
前端·后端·github