-- 查看本地分支
git branch
-- 查看远程分支
git branch -r
-- 查看本地分支
git branch -a
-- 查看状态
git status
-- 本地创建新的分支
git branch [branch name]
-- 切换到指定分支
git checkout [branch name]
-- 创建+切换分支
git checkout -b [branch name]
-- 创建+切换分支+拉取远程分支并建立映射关系(先通过fetch获取远程最新信息)
git fetch
git checkout -b [branch name] origin/[remote branch name]
-- 将新分支推送到github等服务器
git push origin [branch name]
-- 删除本地分支
git branch -d [branch name]
-- 删除github等服务器分支
git push origin :[branch name]
注:冒号代码删除
-- 更新代码
git pull origin master
-- 添加远程地址github为例。
git remote add origin git@github.com:你的github用户名/仓库名.git
-- 下载远程代码 -b 某分支代码
git clone git@github.com:你的github用户名/仓库名.git
git clone -b [branch name] git@github.com:[github name]/[repository name].git
merge相关:
1、主干合并分支(先将本地的分支和主干代码更新到最新,然后进入本地的主干进行合并,最后提交到远程服务器)
git checkout [branch name]
git pull origin [branch name]
git checkout master
git merge [branch name] --squash
git commit -m "合并主干" //如果不添加--squash 则不需要此步骤,git会进行自动的提交(注释的内容会与先前其他人提交的一样)。
git push origin master
2、分支合并主干
反向操作即可。
历史记录与回退:
-- 查看所有分支的所有操作记录(包括已经被删除的 commit 记录和 reset 的操作)
git reflog
git reset --hard HEAD~1 回退到上一版本。(本地)
git reset --hard [版本号] 回退到指定版本。(本地)
git push -f [强制覆盖服务器上的版本]
注意:本地分支回滚后,版本将落后远程分支,必须使用强制推送覆盖远程分支,否则无法推送到远程分支
-- 命令可以显示所有提交过的版本信息 (参数 --pretty=oneline,只会显示版本号和提交时的备注信息)
git log [ --pretty=oneline ]
-- 撤销服务器上的提交
git revert HEAD //撤销最近一次提交
git revert HEAD~1 //撤销上上次的提交,注意:数字从0开始
git revert 0ffaacc //撤销0ffaacc这次提交
注:git revert 命令意思是撤销某次提交。它会产生一个新的提交,虽然代码回退了,但是版本依然是向前的,所以,当你用revert回退之后,所有人pull之后,他们的代码也自动的回退了。
冲突处理:
情景一:在当前分支上,直接修改冲突代码--->add--->commit。
情景二:在本地当前分支上,修改冲突代码--->add--->commit--->push