git常用命令
1. git 安装
- 查看git版本
1 |
|
- 配置
1 |
|
- 省略(Local):本地配置,只对本地仓库有效
- global:全局配置,所有仓库生效
- system:系统配置,对所有用户生效
2. 创建仓库
两种方式
1 |
|
3. 工作区域和文件状态
工作区
暂存区
本地仓库
未跟踪 Untrack
未修改 Unmodified
已修改 Modified
已暂存 Staged
git ls-files
- 这个命令用于列出当前 Git 仓库中的所有文件。
- 它可以带有不同的选项来显示不同的文件列表,例如:
git ls-files
:列出所有被跟踪的文件。git ls-files --others
:列出所有未被跟踪的文件。git ls-files --modified
:列出所有被修改但尚未暂存的文件。git ls-files --deleted
:列出所有被删除但尚未提交的文件。
- 这个命令通常用于查看当前工作目录中哪些文件被 Git 跟踪。
git reflog
- 这个命令用于显示你的 HEAD(当前分支的最新提交)的变化历史。
reflog
记录了 HEAD 的移动,包括提交、分支切换、变基等操作。- 它可以帮助用户追踪 HEAD 的历史,即使某些提交已经被变基或合并操作修改过。
- 输出通常包括操作的哈希值、作者、日期和操作的简短描述。
- 这个命令对于调试、恢复丢失的提交或者理解 HEAD 的历史变化非常有用。
4. 添加和提交文件
- 查看仓库的状态
- git status
- 添加到暂存区
- git add
- git add . 提交本目录下所有文件
- 提交
- git commit
- 查看提交记录
- git log --oneline
- git log
一次性添加暂存和提交,-a
1 |
|
5. 回退版本
1 |
|
Soft参数表示回退到某一个版本,并且保留工作区和暂存区的所有修改内容
hard参数表示回退到某一个版本,并且丢弃工作区和暂存区的所有修改内容
mixed参数表示回退到某一个版本,并且只保留工作区的修改内容,而丢弃暂存区的修改内容
6. 查看差异
1 |
|
- 查看工作区、暂存区、本地仓库之间的差异默认比较工作区和暂存区的内容
1 |
|
- 比较工作区和版本库
1 |
|
- 比较暂存区和版本库
1 |
|
- 比较两个版本之间的差异
HEAD指向分支的最新提交节点
1 |
|
- 最新和上一个的差异
- HEAD~ 表示上一个版本
- HEAD^ 表示上一个版本
- HEAD~2 表示HEAD之前的两个版本
1 |
|
- 指定查看某一个文件的差异
1 |
|
- 比较分支之间的差异
7. 删除文件
- 先删除本地工作区文件,再提交暂存
1 |
|
- 从工作区删除文件
1 |
|
- 删除暂存区文件
- git rm
1 |
|
工作区和暂存区都删除了
8. 忽略文件
应该忽略的文件
- 系统或者软件自动生成的文件
- 编译产生的中间文件和结果文件
- 运行时生成日志文件、缓存文件、临时文件
- 涉及身份、密码、口令、秘钥等敏感信息文件
将文件名写入.gitignore,即可忽略
修改.gitignore文件,忽略所有的log文件,忽略temp文件夹(以斜线结尾)
1 |
|
- 空行或者以#开头的行会被Git忽略。一般空行用于可读性的分隔,#一般用作注释
- 使用标准的Glob模式匹配,例如:
- 星号*通配任意个字符
- 问号?匹配单个字符
- 中括号[]表示匹配列表中的单个字符,比如:[abc]表示ab/c
- 两个星号*表示匹配任意的中间目录
- 中括号可以使用短中线连接,比如:[0-9]表示任意一位数字,[a-z]表示任意一位小写字母
- 感叹号!表示取反
9. 远程仓库
本地仓库推送远程仓库
1 |
|
添加远程仓库和本地仓库关联起来
1 |
|
查看我们当前仓库所对应的远程仓库的别名和地址
1 |
|
拉取远程仓库,自动执行一次合并操作
1 |
|
fetch只获取修改,不会自动合并
1 |
|
10. 分支
- 查看分支
1 |
|
- 创建分支
1 |
|
- 切换分支
1 |
|
可能存在问题,改为
1 |
|
- 在main分支下,合并dev
1 |
|
- 查看分支图
1 |
|
- 删除已经合并的分支
1 |
|
- 删除没有合并的分支
1 |
|
11. 合并冲突
查看冲突内容
1 |
|
编辑冲突的文件,再提交,就自动合并了。
如果不想合并,使用
1 |
|
12. 回退和rebase
在main上执行
1 |
|
main分支接到dev分支上
merge:
- 优点:不会破坏原分支的提交历史,方便回溯和查看。
- 缺点:会产生额外的提交节点,分支图比较复杂。
rebase:
- 优点:不会新增额外的提交记录,形成线性历史,比较直观和干净;
- 缺点:会改变提交历史,改变了当前分支branch out的节点。避免在共享分支使用。

git常用命令
http://binbo-zappy.github.io/2024/12/16/hexo/git/