文章目录
git学习
网站
中文官网:https://git.p2hp.com/
安装与设置
- 到官网下载与安装
- 检查git版本,是否安装成功
git --version
- 配置用户名
git config --global user.name <用户名>
- 配置邮箱
git config --global user.email <邮箱>
- 检查配置
git config --list
初始化git仓库
- 创建空的文件夹
- 将命令地址切换到该文件夹
- 初始化git仓库
git init
返回:Initialized empty Git repository in XXXX
忽略文件
- 在根目录下创建.gitignore文件
- 每个配置项单独占一行
- 每含内容可以是:文件/目录 的名称、路径 或他们的匹配模式
#注释 '#'开头为注释
#忽略a文件夹
a/
#忽略a文件夹下的所有文件
a/*
#忽略a文件夹下的所有文件但不忽略该文件夹下的b文件
a/*
!a/b
#忽略a文件夹下的所有文件但不忽略该文件夹下的b文件夹
a/*
!a/b/
#忽略c.txt文件
c.txt
#忽略以.txt结尾的文件
*.txt
查看当前的分支和分支状态
git status
暂存
- 添加所有工作区中未忽略的文件到暂存区
git add --all
提交
git commit -m <备注信息>
暂存并且提交
git commit -a -m <备注信息>
查看工作区版本号记录
git reflog
文件比较
- 比较工作区与暂存区的差异
git diff
- 比较暂存区与版本区的差异
git diff --cached
- 比较工作区与版本区的差异
git diff master
文件替换
- 用版本区文件替换暂存区文件
git reset HEAD <文件>
- 用暂存区文件替换工作区文件
git checkout <文件>
- 用版本区文件替换工作区文件
git reset --hard <版本号>
文件删除
- 删除暂存区文件
git rm <文件> --cached
分支操作
- 查看当前分支
git branch
- 创建分支
git branch <分支名称>
- 切换到某分支
git checkout <分支名称>
- 创建并切换到某分支
git checkout -b <分支名称>
- 删除分支
git branch -d <分支名称>
- 合并分支
将dev分支合并到master,先切换到master,再合并
git checkout master
git merge dev
标签
查看标签
- 列出所有标签
git tag
或
git log --oneline
- 列出匹配标签
git tag -l <匹配规则>
如:匹配v1开头的标签
git tag -l v1*
- 显示特定标签细节
git show <标签名称>
创建标签
当不加commitID时,给HEAD打标签
- 轻量标签
git tag <标签名称> <commitID>
- 注释标签
git tag -a <标签名称> -m <备注信息> <commitID>
- 后期打标签
git tag -a <标签名称> -m <备注信息> <commitID>
删除标签
- 删除本地标签
git tag -d <标签名称>
- 删除远程标签
git push <远程仓库名称> -d <标签1名称> <标签n名称>
推送标签
- 推送1个或多个标签
git push <远程仓库名称> <标签1名称> <标签n名称>
- 推送全部标签
git push <远程仓库名称> tags
远程仓库操作
克隆仓库
git clone <远程仓库地址>
推送单独分支
git push <远程仓库名称> <分支名称>
推送所有分支
git push <远程仓库名称> --all
删除远程分支
git push <远程仓库名称> -d <分支名称>
拉取
git pull <远程仓库名称>
git clone <远程仓库地址>
### 推送单独分支
git push <远程仓库名称> <分支名称>
### 推送所有分支
git push <远程仓库名称> --all
### 删除远程分支
git push <远程仓库名称> -d <分支名称>
### 拉取
git pull <远程仓库名称>