git新建分支git branch dev-xxxgit checkout dev-xxx等同于git checkout -b dev-xxx// 同步到远程git push origin dev-xxxgit合并指定commitgit log //查看提交的日志复制要合并的那个分支的commit idgit checkout master // 切换到要合并的分支上git cherry-pick COMMIT_ID//复制要合并的commit idgit push origin master //提交到远程分支git cherry-pick --abort // 取消cherry-pickgit修改分支名1.重命名分支git branch -m oldBranch newBranch如果修改的分支已经推送到远程则继续执行下面的操作2.删除远程分支git push --delete origin oldBranch3.上传新命名的本地分支git push origin newBranch4.本地分支与远程分支关联git branch --set-upstream-to origin/newBranch3、4部命令等同于git push -u origin newBranchgit撤销merge在当前分支git reset --hard commit_id此时本地为回退分支远程仍为被改变的分支git push origin HEAD --force【git push -f】git删除分支删除本地分支git branch -d local_branch-d改成-D强制删除删除远程分支git push remote_name -d remote_branch先列出所有远程分支git branch -rgit push origin -d remote_branch将代码还原到某个commitgit reset --hard abc123git push --force origin 分支名从一个git仓库迁移代码到另一个git仓库B是一个空仓库除了默认的master分支没有其他分支。把A的分支迁移到B.进入A工程的branch1分支上获取最新代码git remote ⇒ origingit remote add origin2 masterorigin2可以替换成其他git remote set-url origin2 xxxxxx是B仓库的地址sshgit checkout -b branchB1branchB1是基于A工程branch1建的新分支git push origin2迁移多个分支重复1,5,6操作就行git报错git Permission denied, please try again.检查SSH Key是否存在cd ~/.ssh ls获取SSH Key如果存在id_rsa.pub 或 id_dsa.pub 文件跳过此步。如果不存在生成先查看git邮箱地址git config --list再生成SSH Keyssh-keygen -t rsa -C “your_emailexample.com”将公钥复制到git页面profile setting SSHKeys中cat ~/.ssh/id_rsa.pubgit报错fatal: refusing to merge unrelated histories在你操作命令后面加–allow-unrelated-histories