git -v |
查看git版本 |
git config --global user.name "macplus" |
配置用户名,--global:全局配置,所有仓库生效, --system:系统配置对所有用户生效 |
git config --global user.email macplus@126.com |
配置邮箱 |
git config credential.helper store |
保存用户名和密码 |
git config --global --list |
查看git的配置信息 |
git init |
创建仓库,在当前目录下创建仓库,目录下添加.git隐藏文件夹信息 |
git clone https://github.com....... |
克隆远程仓库到当前文件夹下,在当前文件夹下创建子文件夹来存放克隆的项目 |
HEAD 表示分支的最新提交节点 HEAD~ 表示上一个提交的版本,HEAD~2 head之前的两个版本
git status |
查看仓库状态 |
git status -s |
查看仓库状态 简略描述 |
git add |
添加跟踪文件 git add . 表示添加目录下所有文件 |
git commit -m '注释' |
提交暂存区文件到仓库 |
git commit -a -m '注释' |
同时添加文件和提交 |
git log |
查看仓库日志记录 --oneline 简洁日志 |
git ls-files |
查看暂存区文件 |
git reflog |
查看操作日志,历史上所有操作 |
|
|
git reset --soft |
恢复当前状态到某个点,默认上一次提交点,保留工作区和暂存区 |
git reset --hard |
都不保留 |
git reset --mixed |
只保留工作区 |
|
|
git diff |
查看工作区和暂存区文件差异 |
git diff HEAD |
查看工作区和仓库的文件差异 |
git diff --cache |
查看暂存区和仓库的文件差异 |
|
|
git rm file.txt |
从工作区和暂存区删除文件 |
git rm --cached file.txt |
仅从仓库删除,不从本地删除 |
.gitignore文件中存放被忽略的文件信息,支持*通配符,文件夹以斜线结尾如 temp/(对于已经提交在版本库中的文件不生效)
git clone |
克隆远程仓库到本地 |
git pull |
拉取远程仓库到本地 |
git push |
推送本地仓库到远程 |
git remote -v |
查看当前对应的远程仓库信息 |
git push -u origin main:mian |
关联本地仓库到远程仓库。origin为远程仓库别名可以通过git remote -v查看 |
git pull [origin main] |
拉取远程仓库分支到本地仓库(自动合并) |
git fetch |
拉去远程仓库分支到本地仓库(获取修改不合并) |
分支命名规范:
feat表示功能特性是feature的缩写
git branch |
查看分支 |
git branch name |
创建新的分支name |
git checkout dev |
切换当前分支|或恢复分支|或恢复文件 |
git switch main |
切换当前分支(切换分支专用) |
git merge dev |
将目标分支合并到当前分支 |
git merge --abort |
终止合并 |
git branch -d dev |
删除分支 |
git push origin --delete new1 |
删除远程分支 |
git rebase |
用于将一个分支上的更改应用到另一个分支上,从而保持项目的历史记录更加清晰和线性。 |
main|master分支:基线分支,包含最新稳定版本代码(随时可发布,只能通过合并分支来修改)
hotfix问题修复分支
develop开发分支
feature-..功能分支
release发布分支
main主分支
功能分支,一切功能性开发都定义自己的分支,最终合并
主版本-此版本-修订版本
主版本:主要功能变化或重大更新
次版本:一些功能更改进更新/新功能,通常不会影响现有功能
修改版本:一些小的bug修复,安全漏洞补丁等,不会改变现有功能和接口