*.xlsx binary
*.jpg binary
*.png binary
*.jar binary
*.zip binary
git symbolic-ref HEAD  # 查看指向的分支
cat .git/HEAD          # 直接查看内容(分支或提交哈希)
git stash          # 暂存所有已跟踪文件的修改
git stash -u       # 暂存所有修改(包括未跟踪的文件)
git stash push -m "备注"  # 暂存并添加说明(Git 2.13+)
git stash list     # 查看所有暂存记录
git stash apply    # 恢复最近一次暂存的修改(不删除记录)
git stash pop      # 恢复并删除最近一次暂存记录
git stash drop     # 删除指定暂存记录
💡tip

何时用 stash?何时用 commit?

  • 用 stash:
    • 你正在开发 feature-A,突然要切到 master 分支修复紧急 bug。
    • 你修改了多个文件,但不确定是否值得提交(比如调试代码)。
  • 用 commit:
    • 完成了一个逻辑完整的功能(如 ModelClass 的实现)。
    • 需要将代码分享给其他团队成员。

💡tip
  • HEAD 作用:指向当前所在的提交或分支(即你的工作目录状态)。
  • 仓库是容器,存储所有提交和分支。
  • 分支是提交的别名,HEAD 决定当前工作基于哪个提交/分支。
git -c https.proxy="socks5://127.0.0.1:40008" clone https://github.com/user/repo.git

$env:https_proxy="http://127.0.0.1:7897"; git clone https://github.com/user/repo.git && Remove-Item Env:https_proxy
# 设置代理并克隆
pxs && git clone https://github.com/user/repo.git
cd E:\developer-roadmap\developer-roadmap-master  # 进入解压后的文件夹
git init  # 初始化空仓库
git remote add origin git@github.com:kamranahmedse/developer-roadmap.git  # 关联远程仓库
git remote -v  #正常应显示:
origin  git@github.com:kamranahmedse/developer-roadmap.git (fetch)
origin  git@github.com:kamranahmedse/developer-roadmap.git (push)
git clone --depth 1 git@github.com:kamranahmedse/developer-roadmap.git  # 只下载最新提交
cd developer-roadmap
git fetch --unshallow  # 后续按需获取完整历史(可选)
git fetch --depth=100  # 获取最近的 100 条历史
  1. 检查 git status,确保没有误提交敏感文件或临时文件:

    git status 只添加必要的文件:git add src/ pom.xml README.md .gitignore

  2. 提交并写清晰的提交信息:

    git commit -m "feat: add user login API"

  3. 推送到远程仓库:

    git push origin master

  1. 如果误提交了 target/ 或敏感文件:

    git rm -r --cached target/ # 取消跟踪但不删除本地文件 git commit -m "chore: remove target/ from Git" git push

git rm -r --cached .  # 清除缓存
git add .
git commit -m "fix: reapply .gitignore"
git push
# 一次性把所有符合 .gitignore 规则的文件都移出仓库
git rm -r --cached .

# 重新添加剩余需要追踪的文件
git add .

# 提交更改
git commit -m "chore: 清理误提交的忽略文件"

rebase和merge

❗️important
  • merge:git checkout 目标分支 → git merge 源分支
  • rebase:git checkout 源分支 → git rebase 目标分支
git checkout feature
git rebase master    # 将 feature 的提交“移动”到master 的顶端
git checkout master
git merge feature  # 生成一个合并提交