Git常用命令全总结&命令规范

配置ssh权限

1. 检查本地主机是否已经存在ssh key

cd ~/.ssh
ls
//看是否存在 id_rsa 和 id_rsa.pub文件,如果存在,说明已经有SSH Key

2. 生成ssh key

ssh-keygen -t rsa -C "xxx@xxx.com"
//执行后一直回车即可

3. 获取ssh key公钥内容(id_ras.pub)

cd ~/.ssh
cat id_rsa.pub

4. Github账号上添加公钥:在settings中添加相关公钥

Git常用命令

1. 建立新的本地端 Repository

git init
//初始化git,此过程仅用于在当前目录创建一个新的Git仓库
//当使用git clone时,不需要执行这条命令

2. 克隆远程仓库URL

git clone "远程仓库URL"
//克隆远程仓库

3. 将指定文件或文件夹添加到文件缓冲区

git add .
//将所有修改的文件添加到文件缓冲区

git stash "参数"
//将本地目前还不想提交但已经修改的内容保存至堆栈中
//当多人并行开发时,这条命令可以起到同步作用,先使用git stash save将修改内容保存至堆栈
//然后使用git pull从仓库中拉取代码,最后使用git stash pop出栈将自己的修改内容修改回本地

4. 提交缓冲区文件,并附上提交说明

git commit
//直接提交缓冲区文件

git commit -m "提交说明内容"
//提交缓冲区文件,并提交说明内容

5. 将代码上传到Githu仓库

git push
//将本地仓库提交到远端仓库

git push origin ["分支名称"]
//将本地仓库提交到远程仓库的指定分支

6. 拉取Github仓库的代码

git pull
//从远程仓库拉取代码数据

分支管理

1. 查看分支

git branch
//查看当前分支

2. 建立分支

git branch ["分支名称"]
//建立新的分支

3. 跳转到指定分支

git checkout ["分支名称"]
//跳转到指定分支

4. 建立并跳转到该分支

git checkout -b ["分支名称"]
//创建并跳转到指定分支

5. 强制恢复到指定的commit

git reset -hard[HASH]
//HASH是一个特定的提交哈希值
//HEAD是当前分支的最新提交
//通过这行代码可以将当前分支的HEAD重置到指定的HASH历史提交上

6. 切换到指定的commit

git checkout [HASH]
//切换到指定的commit,将仓库中的文件和目录的状态切换到指定提交的状态
//这个命令不会改变当前的分支,只会暂时将工作目录和索引呈现出HASH对应地历史提交内容
//这个过程不会改变HEAD指针,HEAD指针依然指向原来所在的分支
//如果在这个状态下进行提交,这些提交在切换回分支时可能会丢失,除非创建一个新分支来保留这些提交

7. 修改分支名称

git branch -m <"旧分支名称"> <"新分支名称">

8. 强制删除指定分支

git branch -D ["分支名称"]

远程仓库管理

1. 检查本地仓库与远程仓库的区别

git status
//显示工作目录和暂存区的状态
//使用这条命令能够看到哪些修改被暂存到了, 哪些没有, 哪些文件没有被Git tracked到
//git status不显示已经commit到项目历史中的信息
//当文件未时,此命令会给出"Changes not staged for commit"
//当文件被add缓存但未被commit时,此命令会给出"Changes to be committed"
//当文件被add缓存且被commit后,此命令将不再对文件进行记录"working directory clean"

git log
//显示提交日志信息
//翻阅历史提交记录,向上滚动一行"j或↑",向下滚动一行"k或↓",下一页"空格或Page Down",
//上一页"b或Page Up",退出"q"
//git log支持多种方式的日志信息查看形式,可以根据需求添加不同的参数查看不同的日志形式

2. 查看远程仓库

git remote
//查看所有远程仓库的简要信息

git remote -v
//查看详细的远程仓库信息,不仅可以列出所有远程仓库的简称,还会显示它们的URL
//每个URL后面会有fetch和push分别表示拉取数据和推送数据远程仓库

git remote show origin
//显示有关origin的更多信息,包括远程分支、本地分支与之对应地远程分支以及配置信息

3. 修改拉取远程仓库数据

git remote set-url origin "新的拉取远程仓库URL"
//修改拉取的远程仓库URL,将其替换为新的远程仓库
//可以使用这条命令适应新的远程仓库位置或不同的协议,例如从HTTPS切换到SSH

4. 修改上传远程仓库

git remote set-url --push origin "新的上传远程仓库URL"
//修改上传的远程仓库URL,将其替换为新的远程仓库
//可以使用这条命令适应新的远程仓库位置或不同的协议,例如从HTTPS切换到SSH

Git Commit Message规范

1. 日志提交方式

一般执行git commit时不会打开文本编辑器,如果想要使用此规范需要进行相应设置

默认编辑器:Git默认使用系统的文本编辑器,通常是 Vim、Nano、或者其他编辑器

环境变量:某些系统的环境变量设置可能会影响Git使用的编辑器,例如EDITOR或GIT_EDITOR

命令行参数:附加"-m"参数进行提交信息

git config --global --edit
//检查默认编辑器

git config --global core.editor
//检查Git编辑器配置

git config --global core.editor "nano"
//设置默认编辑器为nano,可以根据需要设置为其它编辑器

export EDITOR=nano
//在环境变量中指定编辑器

2. 格式规范,type类型

Header: <type>(<scope>): <subject>
    type: 表示提交类型。常用的类型包括:
        feat: 新增功能(feature)
        fix: 修复bug
        docs: 文档变更
        style: 代码格式(不影响代码运行的变动)
        refactor: 重构(即不是新增功能,也不是修改bug的代码变动)
        perf: 性能优化
        test: 添加或修改测试代码
        chore: 杂项任务,如构建流程、辅助工具的变动
        revert: 撤销以前的commit
    scope: (可选)代表commit影响的范围,例如组件名、文件名等
    subject: 简短描述,不超过50个字符,句尾无需句号
//明确的提交信息标题
//消息标题应该简单明了,通常不超过50个字符
//以大写字母开头
//不在结尾使用句号
//使用命令式语气,比如“Add feature X”而不是“Added feature X”或“Adds feature X”

3. 格式规范,Body(可选)

提供更详细的描述,每行不超过72个字符

说明为什么做出此变更、如何解决问题及可能的副作用

4. 格式规范,Footer

关联的issue编号、任务链接或其他重要备注

5. 提交流程规范

不直接在master分支进行修改和提交

开发新功能或修复bug时,从master分支创建feature或bugfix分支

功能完成后,将feature或bugfix分支合并回master,并打上Tag发布,然后删除开发分支

6. 分支命名规范

格式:<分支类型>_<发布时间>_<功能描述>

分支类型包括:feature、bugfix、refactor

时间使用年月日命名,格式为YYYYMMDD

功能描述使用蛇形命名法(snake case)

7. Tag命名规范

包含3位版本号,前缀使用v。例如:v1.2.3

新功能使用第2位版本号更新,bug修复使用第3位版本号

重要版本可使用灰度版本号,如v2.0.0-alpha.1

8. Changelog生成

使用conventional-changelog从Git元数据生成changelog文档

9. 工具使用

使用commitizen、validate-commit-msg等工具用于规范commit信息

在项目根目录的package.json中配置相关脚本和依赖

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值