Skip to content
On this page

git

多服务器的 user 配置分离

当同一台电脑登录多个 git 远程仓库时,useremail 可能不一样
比如公司内部的 gitlab 和 自己的 githubgitee
此时就需要通过 gitincludeIf 进行配置文件修改来实现

  • 修改 ~/.gitconfig 文件

    perl
    [includeIf "gitdir/i:E:/server-A/"]
      # * 加载服务器A的git配置
      path =./.gitconfig-server-A
    
    [includeIf "gitdir/i:E:/server-B/"]
      # * 加载服务器B的git配置
      path =./.gitconfig-server-B
  • .gitconfig-server-[N] 文件

    perl
    [user]
      name = zuixinwang
      email = [zuixinwang-email]

cherry-pick

将指定的提交应用于当前分支,详细参考 阮一峰网络日志
一般加上 --abort 参数,在发生代码冲突后,放弃合并,回到操作前的样子

bash
# * 单个提交
git cherry-pick [commit-id]
# * 多个提交
git cherry-pick [commit-id-a] [commit-id-b]
# * 多个连续提交,a提交必须早于b提交,但不包含a提交
git cherry-pick [commit-id-a]..[commit-id-b]
# * 多个连续提交,a提交必须早于b提交,包含a提交
git cherry-pick [commit-id-a]^..[commit-id-b]