git技巧探索

gitignore 未及时响应

如果想要屏蔽的文件已经被 Git 跟踪(已添加到版本库),.gitignore 就不会再生效。要先将这些文件从 Git 缓存中移除

1
git rm --cached .idea/copilot.data.migration.*.xml

根除commit记录

跳转早期博客

新建一个空分支

1
2
3
git checkout --orphan 新分支
git rm -rf .
git commit --allow-empty -m "初始化新分支"

合并两个不相关的仓库

我将第一学期学习资料的仓库开源了,现在想把春季学期学习资料的仓库合并到秋季学期。它们并不是分支关系,也可以合并

1
2
3
4
5
cd path/to/秋
git remote add second-semester https://github.com/用户名/春.git
git fetch 春
git checkout 新分支
git merge 春/main --allow-unrelated-histories

然后,可能会提示有所冲突,比如说两个仓库的 README.md,可以用 visual studio code 打开冲突文件,删删减减,解决冲突。

1
2
git commit -m "合并第二学期仓库的所有提交历史到空分支"
git push origin 新分支

如果不需要接收春季学期的更新了,可以选择

1
git remote remove 春

jetbrain同时绑定github和gitee

出门在外有时不能使用github,其实jetbrain轻松推送两个仓库。在插件市场中下载git和gitee插件,在gitee网页端的设置中也领个 token
alt text
这样可以愉快地存双倍代码了!

git命令行中文显示八进制编码

1
git config --global core.quotepath false