
























使用 git push --force 可以覆盖上一次的push提交。不过一般不推荐这么做
合并本地多个还没有push过的commit 使用 git rebase , 比如合并最近两次的commit 。git rebase HEAD~2
-i 出现交互界面
git commit --amendgit commit --amend --author "New Author Name "git commit --amend --date="$(date -R)" git pull = git fetch + git merge , 所以 fetch 更安全些
<commit-id> 需求: 某次远程提交的文件列表,并判断是否包含某文件类型
# 更新远程的变更
git fetch
# 查看提交历史,获取最后一次提交的commit id
git log origin/develop# 查看具体的提交内容
git show 2678b99db5be1d6870feecde243dffb6e59d4bcd# 只查看更新的文件
git diff --name-only 2678b99db5be1d6870feecde243dffb6e59d4bcd
结果只会列出 `app.js`不需要在每一个仓库中添加.gitignore文件,只需要在家目录下建立.gitignore_global文件就可以忽略我们想忽略的内容
touch ~/.gitignore_global
git config --global core.excludesfile ~/.gitignore内容为:
问题:每次新建一个仓库,都得使用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 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"'此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。