git操作相关
git操作记录
规则 | 说明 | 示例源码 |
---|---|---|
使用动词开头,祈使句 | 以动词原形开头,描述本次变更的内容 | fix: 修复登陆错误 |
简洁明了,不要超过50字符 | 让备注简洁清晰,便于快速理解 | feat: 增加新用户注册功能 |
使用类别标签(可选) | 使用类别标签帮助分类(如 fix, feat, docs 等) | chore: 更新依赖库 |
空格隔开类别和内容 | 例如 type: message | style: 调整排版格式 |
详细描述(可选) | 在第一行备注后添加空行,再写详细变更说明(建议不用超过72字符每行) | |
说明变更原因 | 描述为何需要此更改,或者更改的背景 | fix: 修复由于网络问题导致的登录失败 |
遵守规范统一 | 采用一致格式,便于团队协作 | test: 添加登录模块的单元测试 |
使用英文(国际化) | 主要采用英文,便于多人协作和工具识别 | docs: update README documentation |
操作类型 | 说明 | 命令示例 |
---|---|---|
仅撤销最后一次提交,不影响工作区 | 撤销最后一次 commit,但保留修改在工作区 | git reset --soft HEAD~1 |
撤销最后一次提交,并清除修改 | 撤销最后一次 commit,且工作区回到提交前的状态(丢失更改) | git reset --hard HEAD~1 |
撤销某次特定提交 | 重置到指定提交(会丢失之后的提交) | git reset --hard <commit_sha> |
撤销已push的提交(慎用) | 需要强制推送覆盖远端仓库的历史,可能影响其他协作者 | git push origin <branch> --force |
仅撤销已提交但未推送的内容 | 使用 git reset 取消本地提交,未推送到远端 | 见上述 git reset 示例 |
git reset --hard
会丢失修改,谨慎使用!git commit --amend
git revert
来逐个还原,避免覆盖公共历史。操作步骤 | 说明 | 命令示例 |
---|---|---|
1. 修改 .gitignore 文件 | 添加要忽略的文件路径或模式 | 在 .gitignore 中添加文件路径,比如:path/to/file |
2. 移除已提交且已跟踪的文件 | 让 Git 取消跟踪已在仓库中的文件,但保留在本地 | git rm --cached <file> 比如: git rm --cached path/to/file |
3. 提交忽略变更 | 提交 .gitignore 文件的修改 | git commit -m "Update .gitignore to ignore certain files" |
4. 后续不再跟踪该文件 | 之后该文件不会再提交到仓库 | Git 只会忽略.gitignore 中列出的文件 |
bash# 编辑 .gitignore,加入要忽略的文件或目录
echo "path/to/file" >> .gitignore
# 移除已跟踪的文件
git rm --cached path/to/file
# 提交更改
git commit -m "Add file to .gitignore and stop tracking it"
本文作者:SnailBoy
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!