• 使用场景:当commit的内容有错误,需要回撤到之前的某个版本时。

  • git-reset - Reset current HEAD to the specified state

    意思是可以让HEAD这个指针指向其他的地方。例如我们有一次commit不是不是很满意,需要回到上一次的Commit里面。那么这个时候就需要通过reset,把HEAD指针指向上一次的commit的点。

注,Git一般划分为3个区域,working directory 为当前工作区、stage/index为暂存区(git add后的代码就会存储在这部分)、repository则记录提交的历史(git comment后的代码会存在这里)。3个区域关系如下图所示

Soft Reset

当执行一个 soft reset 时,Git 会将 HEAD(当前分支的指针)移动到你指定的提交,但不会改变暂存区(index)或工作目录。这意味着所有从你回退之后的提交到目前的改动都会被保留在暂存区中,等待再次提交。

  • 撤销之前的提交但保留代码更改,以便重新审查或修改后再次提交。

git reset --soft [commit]

Hard Reset

执行 hard reset 时,Git 不仅将 HEAD 移回到指定的提交,而且还会重置暂存区和工作目录,使它们与回退到的那个提交完全一致。这意味着自那个提交之后的所有更改都会被彻底删除。

  • 完全撤销某个提交及其后的所有更改,恢复到一个确定的、干净的状态,通常用于错误的提交。

git reset --hard [commit]

查看版本控制状态:

git status

添加文件到暂存区:

git add <filename>          # 添加单个文件
git add .                   # 添加所有修改过的文件

提交更改:

git commit -m "提交信息"

查看提交历史:

git log

克隆仓库:

git clone <repository_url>

创建和切换分支:

git branch <branch_name>    # 创建分支
git checkout <branch_name>  # 切换分支
git checkout -b <branch_name> # 创建并切换到新分支

合并分支:

git merge <branch_name>

查看远程仓库:

git remote -v

推送到远程仓库:

git push origin <branch_name>

从远程仓库拉取更新:

git pull origin <branch_name>

创建标签:

git tag <tag_name>

查看所有标签:

git tag

删除本地分支:

git branch -d <branch_name>

删除远程分支:

git push origin --delete <branch_name>

在 Git Bash 中,可以使用与 Linux 终端相同的命令来创建、删除文件夹和文件。以下是一些常用的命令:

文件夹操作

创建文件夹:

mkdir folder_name

删除文件夹:

rmdir folder_name          # 只适用于空文件夹
rm -r folder_name          # 删除非空文件夹及其内容

切换到另一个文件夹:

cd folder_name

返回上一级文件夹:

cd ..

显示当前路径:

pwd

列出文件和文件夹:

ls

文件操作

创建文件

touch filename              # 创建一个空文件
touch file1.html file2.css file3.js  # 同时创建多个文件

删除文件:

rm filename
rm file1.html file2.css file3.js  # 同时删除多个文件

复制文件:

cp source_file destination_file
cp source_file1 source_file2 destination_folder/  # 复制多个文件到目标文件夹

移动/重命名文件:

mv old_filename new_filename
mv filename destination_folder/
mv file1.html file2.css file3.js destination_folder/  # 移动多个文件

批量操作

批量创建文件夹:

mkdir folder1 folder2 folder3

批量删除文件夹:

rm -r folder1 folder2 folder3

批量创建文件:

touch file1.html file2.css file3.js

批量删除文件:

rm file1.html file2.css file3.js

其他有用命令

查看文件内容:

cat filename

编辑文件(使用内置编辑器,例如 nano):

nano filename

查找文件:

find . -name "filename"

概述

  • 开发者:Git for Windows(Git 社区)
  • 初次发布:2007年(作为 Git for Windows 的一部分)
  • 平台:Windows
  • 基础:基于 Unix Shell(例如 Bash)
  • 目的:提供在 Windows 上使用 Git 和类 Unix 环境的工具

特点

  1. Unix-like 环境:在 Windows 上模拟 Unix Shell 环境,提供常见的 Unix 命令。
  2. 轻量级:安装包小,资源占用少,启动速度快。
  3. Git 集成:集成了 Git 命令行工具,方便开发者进行版本控制操作。
  4. 简单易用:对于熟悉 Unix/Linux 的用户,Git Bash 提供了熟悉的命令和环境。

常用命令

列出文件和文件夹:

ls

创建文件夹

mkdir folderName

删除文件夹

rmdir folderName           # 只适用于空文件夹
rm -r folderName           # 删除非空文件夹及其内容

复制文件:

cp sourcePath destinationPath

移动文件:

mv sourcePath destinationPath

查看文件内容:

cat filename
cd D:\myDev
git init
  • 设置用户名 密码
$ git config --global user.name "Your Name"
$ git config --global user.email "email@example.com"
$ git config --list

git config命令的--global参数,表示你这台机器上所有的Git仓库都会使用这个配置,当然也可以对某个仓库

使用 Git 管理项目

添加文件到仓库:

git add .

在 VS Code 中打开集成终端,导航到相应的项目文件夹,添加文件到仓库:

提交更改:

提交更改并添加提交信息:

git commit -m "Initial commit"

添加远程仓库

git remote add origin <远程仓库URL>