新建分支快捷版
// 从release拉取新分支:
git checkout release
git pull
git checkout -b xxxx(分支名称)
// 关联到远程仓库:
git push --set-upstream origin xxxxx(分支名称)
// 首次提交:git add . 再commit,再push
复制代码
代码版本回退
【git本地版本回退】
git log –oneline (查看commit记录和id)
git reset --hard commit-id` `(回滚到commit-id,commit-id之后提交的commit都去除)
git reset --hard HEAD~3 (将最近3次的提交回滚)
复制代码
【git远程版本回退】
git push origin HEAD --force (远程提交回退)
复制代码
下面的命令也可以实现远程版本回退
git reset --hard HEAD~1
git push --force
复制代码
合并分支
假如我们现在在dev分支上,刚开发完项目,执行了下列命令:
git add .
git commit -m '提交的备注信息'
git push -u origin dev
复制代码
想将dev分支合并到master分支,操作如下:
- 1、首先切换到master分支上
git checkout master
- 2、如果是多人开发的话 需要把远程master上的代码pull下来
git pull origin master
- 3、然后我们把dev分支的代码合并到master上
git merge dev
- 4、然后查看状态及执行提交命令
git status
On branch master
Your branch is ahead of 'origin/master' by 12 commits. (use "git push" to publish your local commits) nothing to commit, working tree clean
//上面的意思就是你有12个commit,需要push到远程master上
复制代码
最后执行下面提交命令
git push origin master
- 5其他命令
- 更新远程分支列表
git remote update origin --prune
- 查看所有分支
git branch -a
删除远程分支Chapater6
git push origin --delete Chapater6
删除本地分支 Chapater6git branch -d Chapater6
分支操作
安全删除本地某分支
git branch -d 要删除的分支
强行删除本地某分支
git branch -D 要删除的分支
删除已合并到 master 分支的所有本地分支
git branch --merged master | grep -v '^\*\| master' | xargs -n 1 git branch -d
删除远端 origin 已不存在的所有本地分支
git remote prune orign
将 A 分支合入到当前分支中且为 merge 创建 commit
git merge A分支
将 A 分支合入到 B 分支中且为 merge 创建 commit
git merge A分支 B分支
将当前分支基于 B 分支做 rebase,以便将B分支合入到当前分支
git rebase B分支
配置操作
全局配置
git config --global user.name '你的名字' git config --global user.email '你的邮箱'
当前仓库配置
git config --local user.name '你的名字' git config --local user.email '你的邮箱'
查看当前仓库配置
git config --local --list
删除当前仓库配置
git config --unset --local 要删除的配置项
远端交互
查看所有远端仓库
git remote -v
添加远端仓库
git remote add url
删除远端仓库
git remote remove remote的名称
重命名远端仓库
git remote rename 旧名称 新名称
将远端所有分支和标签的变更都拉到本地
git fetch remote
把远端分支的变更拉到本地,且 merge 到本地分支
git pull origin 分支名
将本地分支 push 到远端
git push origin 分支名
删除远端分支
git push remote --delete 远端分支名 git push remote :远端分支名