git 多人开发常用操作


 本地分支推送到远程分支上

git push --set-upstream origin [远程分支名]

取别人的commit到自己的分支上

git cherry-pick [commit id] 单个

git cherry-pick [x..y] 范围

git cherry-pick --abort 放弃捡樱桃

假设有三个commit id

commit a 信息a

commit b 信息b

commit c 信息c

首先checkout到其他分支拉取最新代码,然后git log 查看记录,然后切回自己的分支

因为cherry-pick是左开右闭区间,所以要获取信息b到a的commit 就要 git cherry-pick c..a

注意事项: 如果提示 fatal: Invalid revision range c.. a, 一般是因为a是最新的commit,但是本地没有拉取最新代码,所以无效范围

合并多个commit为一个

  1. 切到dev分支, pull最新的代码
  2. 切回local分支
  3. 通过 git rebase -i xxx(xxx为local分支第一次提交之前的commit哈希值)将本地的多次提交合并为一个, 以简化提交历史
  4. git reset --soft HEAD^ (撤回上次的提交,因为已经合并了,所撤回的是所有的修改)  可选
  5. git push -f (强推, 因为本地commit hash值和远程服务器commit hash值不一样,所以需要强推)

撤回提交的commit

git reset --soft HEAD^ 上一次 也可以写成HEAD~1

git reset --soft HEAD~2 撤回前两次提交的commit

commit修改注释

git commit --amend

相关