git的一些坑
今天弄项目,因为电脑有2个github账号,跟着相关教程配置了ssh的设置,但是还是出了问题(结果原因是github的权限设置,要拉取最新才能push)
以下都是费时间的坑(我菜)
git 回滚版本
我要回到过去!
1 | # 撤销 commit 操作 |
github PR合并commit
pr太多commit了,不好看
在 Git 中,这种操作就叫做 变基(rebase)。 你可以使用 rebase
命令将提交到某一分支上的所有修改都移至另一分支上,就好像“重新播放”一样。
变基的风险
呃,奇妙的变基也并非完美无缺,要用它得遵守一条准则:
如果提交存在于你的仓库之外,而别人可能基于这些提交进行开发,那么不要执行变基。
ps:
- 在执行
git rebase
命令之前,请确保当前分支是最新的,并且没有未提交的更改。 - 在执行
git rebase
命令之后,请确保你的修改没有破坏代码的正确性,并且没有冲突。 - 在执行
git rebase
命令之后,如果你想取消 rebase,可以使用git rebase --abort
命令。
例子:
1 | #找到需要合并的commit的SHA值。可以在GitHub上的提交历史记录中找到 |
这时会进入一个交互式编辑器,显示需要合并的 commit 列表
1 | pick abcde commit message 1 |
将除第一个 commit 以外的所有命令从 pick 改为 squash
保存并退出编辑器,Git 会自动合并 commit,并弹出一个编辑器,让你编辑合并后的 commit message
最后,通过push操作把本地分支推送到远程
1 | git push origin <branch name> --force |
git 合并分支
想要把之前的版本合并到现版本
从主分支(通常是
master
分支)创建一个新的分支(例如feature-branch
),并在该分支上进行开发。在
feature-branch
分支上进行更改和提交,直到完成所需的功能或修复。将主分支更新到最新版本,以确保没有与
feature-branch
分支冲突的更改。1
2git checkout master
git pull将 feature-branch 分支合并到主分支上。
1
git merge feature-branch
如果存在冲突,需要解决冲突并提交更改。在解决冲突之后,使用以下命令完成合并:
1
2git add .
git commit推送主分支和
feature-branch
分支的更改。1
2git push origin master
git push origin feature-branch
这样,你就成功地将 feature-branch
分支合并到主分支上了。
删除 Git 中的所有提交历史记录
1 | # 创建 orphan 分支 |
commit 常用 type
type | 含义 |
---|---|
feat | 新功能 |
fix | 修复 bug |
docs | 修改文档 |
style | 代码格式修改 |
refactor | 重构(即不是新增功能,也不是修复 bug) |
perf | 更改代码以提高性能 |
test | 增加测试 |
build | 构建过程或辅助工具的变动 |
ci | 修改项目持续集成流程 |
chore | 其他类型的提交 |
revert | 恢复上一次提交 |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 星Blog!