Skip to content

git 相关

  • feat:新增功能
  • fix:修复 Bug
  • docs:修改文档
  • style:代码格式(不影响代码运行)
  • refactor:代码重构(无功能变动)
  • perf:性能优化
  • test:添加或修改测试
  • chore:构建工具、依赖、脚本等调整
  • revert:回滚提交
sh
# 每个项目单独设置
cd 项目目录
git config user.name "your_name"
git config user.email "your_email"

# 全局设置
git config --global user.name "your_name"
git config --global user.email  "your_email"

# 取消 git 全局设置
git config --global --unset user.name
git config --global --unset user.email
sh
# 开启大小写名感
git config core.ignorecase false

# 全局,只影响后面创建的项目
git config --global core.ignorecase false
sh
git config --global init.defaultBranch main

alias 配置

sh
git config --global alias.ss "status -s"
git config --global alias.cm "commit -m"
git config --global alias.ck checkout

git config --global alias.lg "log --format='%C(yellow)%h%Creset %C(blue)%an%Creset %C(green)%cr%Creset %C(red)%d%Creset %s' --graph --all"
sh
# 撤销提交
git reset HEAD -- 文件
# 对比
git diff e19caad cc4f41a  --stat


git revert
sh
git push origin --tags
git push origin --all

取消合并

sh
# https://stackoverflow.com/questions/11646107/you-have-not-concluded-your-merge-merge-head-exists

# Since git version 1.7.4
git merge --abort

# prior git versions
git reset --merge

克隆特定分支

sh
git clone --branch <分支> --single-branch <仓库地>

cherry-pick

sh
# 切换到主分支
git checkout main

# cherry-pick 指定的提交
git cherry-pick <commit-hash>

高级用法

sh
# 假定未更改
git update-index --assume-unchanged
git update-index --no-assume-unchanged

# 其他
git reflog

git reset --hard HEAD@{7}

git diff

git-delta:https://github.com/dandavison/delta

使用 vscode 的 diff:https://juejin.cn/post/6982590763729158175#prerequisite

sh
brew install git-delta
sh
git config --global core.pager delta
git config --global interactive.diffFilter 'delta --color-only'
git config --global delta.navigate true
git config --global merge.conflictStyle zdiff3

ssh

如何在同一台电脑上配置多个 SSH Key

Host alic
HostName codeup.aliyun.com
User git
  IdentityFile ~/.ssh/id_ed25519
  PreferredAuthentications publickey

Host *
HostkeyAlgorithms +ssh-rsa
PubkeyAcceptedKeyTypes +ssh-rsa

注意 IdentityFile 是私钥

注意,Git 仓库的路径需要改为 Host 如 ssh -T alic

Permissions 0644 for '' are too open.

权限太大了,修改为 chmod 600

codeup

头像 > 管理后台 > 成员管理

成员,组织

流水线

外部人员不能使用流水线!!!

流水线 有自己单独的权限