1、指定远程分支创建本地分支
git checkout -b 本地分支名x origin/远程分支名x
可能出现fatal: Cannot update paths and switch to branch ‘release-2.92.1.1’ at the same time.问题,是因为未检测到最新的分支信息。配合 git fetch 先拉取最新分支信息后操作。
2、查看本地分支与远程分支的映射关系
git branch -vv
3、建立追踪关系,在现有分支与指定的远程分支之间
git branch --set-upstream [branch] [remote-branch](可能会出现fatal: the ‘–set-upstream’ option is no longer supported.)
git branch --track [branch] [remote-branch](远程有分支,本地无,新建一个分支,与指定的远程分支建立追踪关系)
git branch --set-upstream-to=origin/remote_branch your_branch(本地和远程都存在该分支,建立关联关系)
4、选择一个commit,合并进当前分支
git cherry-pick [commit]
git cherry-pick <HashA > <HashB> 一次转移多个提交
git cherry-pick --continue 操作过程中发生代码冲突,Cherry pick 会停下来。用户解决代码冲突后,第一步将修改的文件重新加入暂存区(git add .),第二步使用此命令,让 Cherry pick 过程继续执行。
git cherry-pick --abort 回到合并前的样子
如果想要转移一系列的连续提交 git cherry-pick A…B (不包含A)
git cherry-pick A^…B (包含A)
5、列出所有远程分支
git branch -r
6、新建一个分支,并切换到该分支( 基于当前停留的分支创建 )
git checkout -b [branch]
7、git push指令详解
1、git push <远程主机名> <本地分支名> <远程分支名>
例如:git push origin release-2.92.1.1:release-2.92.1.1 (将本地release-2.92.1.1分支推送到远程release-2.92.1.1分支,远程没有则会创建,切记没有空格中间!!!!)
2、git push
如果当前分支与远程分支存在追踪关系,则本地分支和远程分支都可以省略
3、git push origin master
如果远程分支被省略,如上则表示将本地分支推送到与之存在追踪关系的远程分支(通常两者同名),如果该远程分支不存在,则会被新建
4、git push origin :release-2.92.1.1(慎用)
如果省略本地分支名,则表示删除指定的远程分支,因为这等同于推送一个空的本地分支到远程分支
8、删除本地分支
git branch -d [branch-name]
9、删除远程分支
git push origin --delete
10、git commit之后,想撤销commit
git reset --soft HEAD^ 不删除工作空间改动代码,撤销commit,不撤销git add .
(ps:如果控制台出现More?,则将命令改成 git reset --soft HEAD^^即可)
git reset --mixed HEAD^ 不删除工作空间改动代码,撤销commit,并且撤销git add . 操作(默认参数等价于git reset HEAD^)
11、回滚远程分支
git reset --hard 8d722bb6e976f255f9c4c1bf9233c386d69ca5ed(目标版本号)
使用 git push -f 提交更改
12、修改git用户信息
git config --global --replace-all user.name “要修改的用户名”
git config --global --replace-all user.email “要修改的邮箱”
git config --global --replace-all user.password “要修改的密码”
git config user.name 查看修改完后的用户名
git config user.email 查看修改完后的邮箱
git config user.password 查看修改完后的密码