Git学习

104 阅读2分钟

工作区、暂存区和版本库

工作区: 开发时操作的文件夹

暂存区: 保存之前的准备区域(暂时存储改动过的文件),存在.git目录下的index中

版本库: 提交并保存暂存区的内容,产生一个版本快照。工作区中隐藏的目录.git

涉及到的git命令

查看当前配置信息

git config --list

设置用户名

git config user.name "xxx"

设置邮箱

git config user.email "xxx"

加上--global 设置全局配置

文件状态

文件状态分为两种,未被跟踪和已跟踪。其中已跟踪中又分为,新添加,已修改,未修改。

未跟踪: 是指文件新创建,还未被git进行管理,还未git add。

已跟踪: 是指文件已经被git add。

未跟踪未跟踪(U)从未被Git管理管理过新键的文件
新添加(A)第一次被Git暂存新建的文件git add
已跟踪未修改('')三个区统一提交后保存
已修改(M)工作区发生变化修改了内容

涉及到的git命令

查看文件的状态,参数-s 查看更简洁

git status -s

从工作区暂存到暂存区

git add .

查看暂存区的文件

git ls-files

取消暂存或跟踪,将暂存区的文件删除掉,此时工作区对应的文件变为未追踪状态

git rm -cached 文件

提交版本库,将暂存区提交到本地仓库(版本库)

git commit -m ”描述信息“

查看提交历史,参数--oneline查看更简洁

git log --oneine

撤销操作

如果只在工作区更改,还未git add

用于从暂存区恢复工作区的文件更改(没有git add)

git restore 目标文件 // 较新的版本 
git checkout 目标文件

如果已经git add,但为git commit

只修改暂存区

git restore --start 目标文件
git reset 目标文件

暂存区,工作区全部修改

git checkout HEAD 目标文件

如果已经git commit过了

git reset --soft 版本号   // 只撤销本次commit
git reset --mixed 版本号  // 撤销commit和add
git reset --hard 版本号   // 完全撤销

分支管理

查看分支代表当前分支

git branch

没有仓库,创建仓库同时,创建分支

git init -b dev

已有仓库,创建分支

git branch test

分支更改名字

git branch -m test xxx

删除分支 -D强制删除

git branch -d xxx

检出(切换)分支

git checkout xxx

分支合并,xxx为要合并的分支,把xxx合并到当前分支(没有使用过不知区别)

git merge xxx
git rebase xxx 

远程仓库

查看远程仓库

git remote -v

本地仓库关联远程仓库

git remote add 远程仓库别名 远程仓库地址
git remote add origin https://gitee.com/xxx/xxx.git

本地仓库推送到远程仓库

git push 远程仓库别名 本地和远程分支名
git push  origin main:main
git push -u