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

相关推荐
uhakadotcom6 小时前
完了,AI中台比数据中台更短命
面试·架构·github
刃神太酷啦9 小时前
聚焦 string:C++ 文本处理的核心利器--《Hello C++ Wrold!》(10)--(C/C++)
java·c语言·c++·qt·算法·leetcode·github
BraveOxCow9 小时前
git的使用
git
饼干哥哥9 小时前
数据安全无小事,用Github免费定时备份n8n工作流
github
掘金安东尼10 小时前
7个【宝藏工具】从智能画图到 SSL 自动化,一应俱全
前端·面试·github
HelloGitHub11 小时前
一周 Star 破万的开源项目「GitHub 热点速览」
开源·github
进阶的DW1 天前
Git基本使用
git
qianmoQ1 天前
GitHub 趋势日报 (2025年06月14日)
github
书琴1 天前
关于git的stash参数
git
@大迁世界1 天前
如何将一个 Git 项目关联到两个远程仓库(且不出错)
git