惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

S
SegmentFault 最新的问题
G
Google Developers Blog
Stack Overflow Blog
Stack Overflow Blog
WordPress大学
WordPress大学
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
罗磊的独立博客
月光博客
月光博客
IT之家
IT之家
爱范儿
爱范儿
Google DeepMind News
Google DeepMind News
小众软件
小众软件
C
Check Point Blog
B
Blog RSS Feed
H
Help Net Security
博客园 - 司徒正美
L
LangChain Blog
MongoDB | Blog
MongoDB | Blog
B
Blog
The Cloudflare Blog
Apple Machine Learning Research
Apple Machine Learning Research
Microsoft Security Blog
Microsoft Security Blog
M
MIT News - Artificial intelligence
N
Netflix TechBlog - Medium
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知

mafeifan 的编程技术分享

mafengwo-mp3-downloader | mafeifan 的编程技术分享 示例页面 | mafeifan 的编程技术分享 mafeifan 的编程技术分享 mafeifan 的编程技术分享 mafeifan 的编程技术分享 mafeifan 的编程技术分享 mafeifan 的编程技术分享 mafeifan 的编程技术分享 mafeifan 的编程技术分享 mafeifan 的编程技术分享 mafeifan 的编程技术分享 查看 default namespace 下的 default service account名称 mafeifan 的编程技术分享 检查日志 | mafeifan 的编程技术分享 bridge fdb show dev flannel.1 mafeifan 的编程技术分享 mafeifan 的编程技术分享 mafeifan 的编程技术分享 mafeifan 的编程技术分享 mafeifan 的编程技术分享 mafeifan 的编程技术分享 mafeifan 的编程技术分享 mafeifan 的编程技术分享 mafeifan 的编程技术分享 mafeifan 的编程技术分享 mafeifan 的编程技术分享 mafeifan 的编程技术分享 mafeifan 的编程技术分享 mafeifan 的编程技术分享 mafeifan 的编程技术分享
mafeifan 的编程技术分享
2026-01-16 · via mafeifan 的编程技术分享

git push --force ​

使用 git push --force 可以覆盖上一次的push提交。不过一般不推荐这么做

git rebase ​

合并本地多个还没有push过的commit 使用 git rebase , 比如合并最近两次的commit 。git rebase HEAD~2

image.png

-i 出现交互界面

  • pick:正常选中
  • reword:选中,并且修改提交信息;
  • edit:选中,rebase时会暂停,允许你修改这个commit(参考这里)
  • squash:选中,会将当前commit与上一个commit合并
  • fixup:与squash相同,但不会保存当前commit的提交信息
  • exec:执行其他shell命令

git commit --amend ​

  • 修改commit信息 git commit --amend
  • 修改commit的author git commit --amend --author "New Author Name "
  • 修改commit的提交时间 git commit --amend --date="$(date -R)"

git pull ​

git pull = git fetch + git merge , 所以 fetch 更安全些

git diff --name-only <commit-id>

需求: 某次远程提交的文件列表,并判断是否包含某文件类型

# 更新远程的变更
git fetch
# 查看提交历史,获取最后一次提交的commit id
git log origin/develop

image.png

# 查看具体的提交内容
git show 2678b99db5be1d6870feecde243dffb6e59d4bcd

image.png

# 只查看更新的文件
git diff --name-only 2678b99db5be1d6870feecde243dffb6e59d4bcd
结果只会列出 `app.js`

gitignore_global 全局忽略文件 ​

不需要在每一个仓库中添加.gitignore文件,只需要在家目录下建立.gitignore_global文件就可以忽略我们想忽略的内容

touch ~/.gitignore_global
git config --global core.excludesfile ~/.gitignore

内容为:

includeif 根据目录统一配置 ​

问题:每次新建一个仓库,都得使用git config user.email配置邮箱和用户名而且,项目分公司的个人的,公司项目要使用公司邮箱maf@mycompany.com,个人邮箱是mafeifan@qq.com。 方案:gitconfig中有includeIf指令,使用他可以根据条件导入额外的配置

维护全局配置文件 ​

我的是在~/.gitconfig,也可能/etc/gitconfig也会存在一个系统级别的配置文件,这个文件可以设置全局的配置,比如邮箱,用户名等。

使用命令git config --global core.editor emacs本质就是编辑这个文件

使用git config --list查看当前git的配置信息,注意配置文件可能存在多处

使用git config --list --show-origin显示文件出处

快速重写 git history ​

有时候 git commit 会不一致,公司邮箱和个人邮箱容器混用,最简单方法是使用 git-filter-repo

bash

pip3 install git-filter-repo --break-system-packages
git filter-repo --force --email-callback  'return b"mafeifan@qq.com"'
git filter-repo --force --name-callback  'return b"mafeifan"'

详见