git 安装
通过官网下载下载对应系统的版本,下载完双击进行安装就行,安装完成,终端执行 git version
输出版本号即安装成功。
git 常见命令
git config 配置
通过 git config
命令来设置和获取 git 的配置项,git config 有 3 个作用域
- global
全局级,mac/linux 系统中配置文件位于 ~/.gitconfig
,windows 系统中位于 C:\Users\<YourName>\.gitconfig
,该级别的的配置对该用户拥有的所有仓库生效;
- system
系统级,mac/linux 系统中配置文件位于 /etc/gitconfig
,windwos 系统中位于 C:\ProgramData\Git\config
,该级别的配置对所有用户的所有仓库生效;
- local
本地级,配置文件位于当前仓库的.git/config 下,该级别的配置对当前仓库生效
# 配置用户名
git config --global user.name "geekyous"
# 配置邮箱
git config --global user.mail "geekyous.163.com"
# 查看配置信息
git config --global --list
git 创建仓库
git init
创建本地仓库git init <repo-name>
,repo-name 为仓库名称,如果 repo-name 不存在,创建 repo-name 并将 repo-name 初始化为 git 仓库- 进入已经存在的文件夹中执行 git init,将该文件夹初始化为 git 仓库
git clone
从远程克隆一个已经存在的仓库到本地
git clone <repo-url>
,repo-url 为远程仓库地址
工作区、暂存区
- 工作区:当前仓库的工作目录称为工作区,在工作区包含被 git 追踪的文件和已被 git 追踪的文件
- 暂存区:暂存区是一个临时的存储区域,存储的是被 git 追踪但是还提交到仓库中的文件
git status 显示工作区和暂存区的状态
git status
命令用于显示当前仓库的工作区和暂存区的状态,该命令会显示工作目录下文件的状态,如:哪些是新增还没被 git 追踪的文件哪些是已经添加到暂存区被 git 追踪的文件,哪些是已追踪又被修改的文件等
git ls-files 查看已经被追踪的文件
git ls-files
命令作用是显示当前工作目前中已经被 git 追踪的文件
git ls-files
基本用法:
### 显示已被追踪的文件
git ls-files
### 显示已被修改但未被提交的文件
git ls-files -m
### 显示被删除的文件
git ls-files -d
### 显示暂存的文件
git ls-files -s
git add 添加文件到暂存区
git add
命令用于将一个文件的改动由工作区提交到暂存区
git add
命令基本用法:
### 添加单个文件
git add <file>
### 添加多个文件
git add <file1> <file2> <file3> ...
### 添加全部文件,包含当前目录及其子目录下的所有文件
git add .
### 添加文件夹
git add <directory>
### 添加已追踪被修改的文件
git add -u
git rm 删除暂存区文件
git rm
命令用于将指定文件从缓存区中删除
git rm
命令基本用法:
### 从缓存区删除文件
git rm --cached <file>
### 强制删除,会将文件从缓存区和工作目录中删除
git rm -f <file>
### 删除目录及其文件
git rm -r <directory>
git restore 文件恢复
git restore
命令用于恢复文件状态
git restore
命令基本用法:
![](/qrcode.jpg)
### 丢弃被追踪文件未提交的修改
git restore <file>
### 将文件恢复到暂存区状态,通常是执行了git add <file>,
### 通过git restore --staged <file> 来撤销git add 操作
git restore --staged <file>
### 从指定提交恢复文件,将文件恢复到指定提交的状态,可恢复git rm 误删的文件
git restore --source <commint-hash> <file>
### 丢弃所有文件修改,慎用
git restore .
git commit 提交到仓库
git commit
命令作用是将暂存区的文件提交到本地仓库中
git commit
命令基本用法、
### 提交到仓库,并添加描述信息
git commit -m "描述信息"
### 修改上一次的提交描述信息,若觉得上一次的提交描述信息不够恰当,可使用此命令进行修改
git commit --amend
git branch 分支管理
git brach
命令用于仓库分支管理
git brach
命令基本用法:
### 查看本地所有分支
git branch
### 查看远程分支
git branch -r
### 查看所有分支,包括远程分支
git branch -a
### 创建分支
git branch <branch-name>
### 切换分支,推荐使用
git switch <branch-name>
### 切换分支,不推荐使用
git checkout <branch-name>
### 创建并切换到新分支
git checkout -b <branch-name>
### 删除分支
git branch -d <branch-name>
本地仓库、远程仓库
git 是一个分布式的版本控制系统,每个机器可以通过 git clone
命令将远程仓库克隆一份到本地,成为本地仓库;也可以通过 git push
命令将本地的提交同步到远程仓库。
git pull 更新本地仓库
git pull
命令用于获取远程仓库的更改并将其合并到当前分支
git pull
命令基本用法:
### 从默认的远程分支拉取更改并合并到当前分支
git pull
### 从指定的远程分支拉取更改并合并到当前分支
git pull <remote> <branch>
### 获取远程拉取更改,但是自动创建合并提交,可手动进行合并提交
git pull --no-commit
### 从远程拉取更改,采用rebase的方式与本地分支进行合并
git pull --rebase
git fetch 更新本地仓库
git fetch
命令用于更新远程分支到本地,但不进行合并
### 拉取远程代码
git fetch origin main
### 合并代码
git merge origin/main
git push 将本地变动推送远程仓库
git push
命令用于本地修改到远程仓库
git push
命令基本用法:
### 推送代码到远程分支
git push <remote> <branch>
### 推送代码至远程main分支
git push origin main
git reset 回退提交
git reset
命令用于回到分支到某个提交状态
git reset
命令基本用法:
### 回退当前分支到指定提交记录,并丢弃工作目录和暂存区的修改
git reset --hard <commit>
### 回退当前分支到指定提交记录,保存工作目录的文件更改,不保留暂存区的修改,默认使用该选项
git reset --mixed <commit>
### 回退当前分支到指定提交记录,同时保留工作目录和缓存区的修改
git reset --soft <commit>
### 回到到上一次提交
git reset HEAD~1