git常用命令

说明:[]在实际使用时去掉[]

01 设置

  • 注意:命令行区分大小写
  • git config --list查看设置
  • git config --global user.name 'MrFlySand'设置用户名
  • git config --global user.email '***@163.com'设置用户邮箱
  • 设置背景、字体等:右击窗口,点击Options
    image

1.1 仓库

在Git的版本控制体系中,工作区、暂存区、远程仓库、本地仓库、Stash区的具体说明如下:

(1)本地仓库(Local Repository)

  • 定义:是Git在本地磁盘上维护的一个版本历史数据库,存储了项目所有的提交记录(包括每个版本的文件快照、提交信息、作者、时间等)。
  • 作用:是版本控制的核心,所有历史版本的“备份”都存储在这里。通过git commit命令,暂存区的内容会被提交到本地仓库,形成新的版本记录;git log命令可以查看本地仓库的所有历史提交。

(2)Stash区(储藏区)

  • 定义:是一个临时存储区域,用于暂时保存工作区中未完成的修改(这些修改还不想提交到暂存区或本地仓库)。
  • 作用:当你在一个功能开发到一半时,需要切换分支处理紧急bug,就可以用git stash将当前工作区的修改“储藏”起来,待后续再通过git stash popgit stash apply恢复这些修改,避免代码冲突或丢失。

(3)各区域关系总结

区域 作用 关键命令示例
工作区 本地磁盘上实际直接编辑文件的目录,是代码的“工作现场”。 无(直接编辑文件即可)
暂存区 临时存放待提交的修改,是工作区到本地仓库的“过渡地带” git add(将工作区修改加入暂存区)
本地仓库 存储所有历史版本的数据库,是版本控制的“核心仓库”。 git commit(暂存区提交到本地仓库)、git log(查看历史)
Stash区 临时储藏未完成的工作区修改,用于分支切换时的临时“寄存”。 git stash(储藏修改)、git stash pop(恢复并删除储藏)
远程仓库 服务器上的共享仓库,用于多人协作时同步代码。 git clone(克隆远程仓库到本地)、git push(本地仓库推送到远程)、git pull(拉取远程仓库到本地)

通过这五个区域的协作,Git实现了从“本地开发→临时储藏→版本提交→远程共享”的完整工作流,满足个人开发和团队协作的不同需求。

02 git的基础命令

2.1 下载仓库代码

git config --global user.name '飞沙'  
git config --global user.email 'xxx@qq.com' 
git clone 'https://github.com/MrFlySand/testCode.git' #从github下载这个仓库
git clone 'https://gitee.com/MrFlySand/testCode.git' #从gitee下载这个仓库

从github下载这个仓库

2.2 git add

  • 用途:将工作区的修改添加到暂存区(Stage Area),是提交版本前的“准备步骤”。
  • 语法
    • 单个文件:git add 文件名(如 git add README.md
    • 多个文件:git add 文件名1 文件名2(如 git add index.js utils.js
    • 所有修改(含新增、修改、删除):git add .(注意是英文句号,代表当前目录所有文件)
  • 示例:修改了login.js后,执行 git add login.js,将该文件的修改加入暂存区。
  • 注意:暂存区是“待提交”的过渡区域,git add 后修改才会被Git跟踪为“待提交状态”。

2.3 git commit

  • git commit
    • 用途:将暂存区的内容提交到本地仓库,生成一条版本记录(含提交者、时间、提交说明等)。
    • 语法git commit -m "提交说明"-m 必须,用于填写本次提交的描述);也可使用 git commit -a -m "提交说明"-a 自动将已跟踪文件的修改加入暂存区,再提交,但新增文件仍需先git add)。
    • 示例git commit -m "修复登录功能的表单验证bug",将暂存区的修改提交到本地仓库。

2.5 git log

  • 用途:查看本地仓库的提交历史(含所有版本的哈希、作者、时间、提交说明)。
  • 语法
    • 默认详细格式:git log
    • 简洁格式(哈希+提交说明):git log --pretty=onelinegit log --oneline
    • 过滤作者:git log --author="你的用户名"
    • 过滤时间:git log --since="2025-10-01"(查看2025年10月1日后的提交)
  • 示例git log --oneline,输出类似 a1b2c3d 新增用户注册功能 的简洁历史。

2.6 git stash & git stash pop

  • git stash

    • 用途:临时“储藏”工作区和暂存区的修改(比如中途需要切换分支处理紧急任务,又不想提交未完成的代码时使用)。
    • 语法
      • 简单储藏:git stash
      • 带说明的储藏:git stash save "储藏说明"(如 git stash save "未完成的登录页样式修改"
      • 查看储藏列表:git stash list(会显示如 stash@{0}: On main: 未完成的登录页样式修改
    • 示例:执行 git stash 后,工作区和暂存区的修改会被临时隐藏,代码回到上一次提交的状态。
  • git stash pop

    • 用途:恢复最近一次的储藏,并从储藏列表中删除该条记录。若要恢复指定储藏,可使用 git stash apply stash@{n}n 是储藏的索引,如 stash@{0} 是最近一次)。
    • 示例git stash pop 会将最近储藏的修改恢复到工作区,同时清空该储藏;若执行 git stash apply stash@{1},则恢复第2条储藏(索引从0开始),且该储藏仍保留在列表中。

2.8 git clone & git push & git pull

  • git clone

    • 用途:将远程仓库的代码“克隆”到本地,生成一个与远程仓库一致的本地仓库(首次获取远程代码时使用)。
    • 语法git clone 远程仓库地址 [本地目录名]本地目录名 可选,不写则默认用远程仓库名作为本地文件夹名)。
    • 示例git clone https://github.com/yourname/study-app.git,会在当前目录创建 study-app 文件夹,包含远程仓库的所有代码和版本历史。
  • git push

    • 用途:将本地仓库的提交推送到远程仓库(多人协作时同步代码到服务器)。
    • 语法git push [远程仓库名] [本地分支名]:[远程分支名](默认远程仓库名是 origin,若本地和远程分支名一致,可简化为 git push origin 分支名)。
    • 示例git push origin feature/login:main,将本地 feature/login 分支的提交推送到远程 main 分支;若分支名一致,可直接 git push origin main
  • git pull

    • 用途:拉取远程仓库的更新到本地,并与本地分支合并(相当于 git fetch + git merge,用于同步远程最新代码)。
    • 语法git pull [远程仓库名] [远程分支名]:[本地分支名](通常简化为 git pull origin 分支名)。
    • 示例git pull origin main,拉取远程 main 分支的更新,并合并到本地当前分支;若想以“变基”方式合并(避免多余的合并提交),可使用 git pull --rebase origin main(需注意冲突处理)。

掌握这些命令的使用,就能覆盖Git“本地开发→版本管理→远程协作”的核心工作流,满足个人开发和团队协作的基本需求。

二、 路径

  • pwd查看当前文件路径
  • ls查看当前文件目录
  • cd d:进入D文件夹
  • cd folder/tes 进入当前盘的folder/test文件夹下
  • cd ../返回上一个文件夹,如果要返回多个就输入几个../../
  • 设置pwd的默认路径/起始位置
    • 右击git-bash.exe,然后点击属性,修改起始位置

设置pwd默认路径

三、上传文件

image

  1. git status查看暂存区
  • 红色代表本地仓库
  • 绿色代表暂存区
  1. git add file.txt 添加文件到暂存区
    git add . 跟踪项目文件夹中的所有文件和文件夹添加到暂存区
  2. git commit -m "文件操作描述"文件的描述。在书写时最好加上"(双引号),当出现No such file or directory时就是因为没有添加双引号或单引号.
  3. git push从暂存区上传到远程仓库
    • 注意:当文件被修改后,上传相同名字的文件,新的文件会覆盖原来的文件。上传文件时,路径区分大小写。
  4. git add -u-u选项会更新已经追踪的文件和文件夹
    修改名称2

四、文件操作

删除文件

  1. rm file.txt删除本地文件
  2. git add file.txt将本地删除的操作添加到暂存区
  3. git push将暂存区的操作添加到远程仓库
  4. git checkout file.txt恢复刚刚删除的文件

修改文件名

git mv -f oldFileName newFileName:将文件名oldFileName改为newFileName
修改文件名

五、版本控制/回退

介绍:将远程仓库的版本回退到本地

  1. git log查看所有版本信息
  2. git log --pretty=oneline简洁log版本
  3. git reset --hard 版本号,版本号前面几位及可

版本回退

六、其它

  • clear清空当前窗口信息
  • exit退出窗口
  • mkdir folder创建文件夹
  • touch file.txt创建文件
  • git mv -f oldFileName newFileName将文件名oldFileName改为newFileName
  • 修改文件or文件夹名称
  • git add -u"-u"选项会更新已经追踪的文件和文件夹
  • git init:创建一个 .git的文件夹,在文件内初始化git(创建git仓库)

03 要让VS Code的时间线直接显示年月日小时分钟,可以通过修改设置文件来实现。具体步骤如下:

  1. 打开设置文件

    • 按下 Ctrl + Shift + P(或 Cmd + Shift + P macOS)打开命令面板。
    • 输入 Preferences: Open Settings (JSON) 并回车,打开 settings.json 文件。
  2. 添加时间格式配置
    settings.json 中加入以下配置(使用 Moment.js 格式语法):

    "timeline.dateFormat": "yyyy-MM-dd HH:mm"
    

    该配置会让时间线的时间显示为“年-月-日 时:分”,例如 2025-10-24 16:30

  3. 保存并生效
    保存 settings.json 文件后,VS Code的时间线会自动更新为新的时间格式。

如果需要更详细的格式(如包含秒),可调整为:

"timeline.dateFormat": "yyyy-MM-dd HH:mm:ss"

这样时间线会显示为 2025-10-24 16:30:45

posted @ 2020-08-09 10:44  MrFlySand-飞沙  阅读(556)  评论(0)    收藏  举报