一、线上版本回退操作流程:
如果你发版了push了代码,发现代码错了,需要版本回退的话,执行以下三步即可
1. git reflog
或者 git log
或者 git log -g
查看历史提交记录
2. git reset --hard [commitid]
本地库版本回退
3. git push -f origin [branchName]
同步到远端仓库
如果本地创建的分支没有提交,不小心删除了怎么办?
**本质上就是根据 提交的版本号创建新的分支, 新创建的分支代码跟当时提交的版本的代码是一致的。**
(1) 输入` git log -g` ,找回之前提交的commit,并记下commit_id。(可以通过键盘上下键翻看所有的记录)
(2) `git branch newbranch commit_id`
(3) `git checkout newbranch` 切换到newbranch分支,检查文件是否存在。
二、当你本地修改代码了,但是又不想提交的时候想拉取代码,此时执行下面三步即可:
1.git stash //锁定当面文件
2.git pull //拉取代码
3.git stash pop //恢复刚刚的修改文件,可以查看到现在变动的文件
三、git创建本地分支,推送到远程
- 创建本地分支
git branch 分支名
例如:git branch dev
,这条命令是基于当前分支创建的本地分支,假设当前分支是master(远程分支),则是基于master分支创建的本地分支dev。
-
删除本地分支(必须保证不在删除的分支上,才能进行删除)
` git branch -d dev` 强制删除 : ` git branch -D dev`
-
切换到本地分支
git checkout 分支名
例如:git checkout dev
,这条命令表示从当前master分支切换到dev分支。
-
创建本地分支并切换
git checkout -b 分支名
例如:git checkout -b dev
,这条命令把创建本地分支和切换到该分支的功能结合起来了,即基于当前分支master创建本地分支dev并切换到该分支下。 -
提交本地分支到远程仓库
git push origin 本地分支名
例如:git push origin dev
,这条命令表示把本地dev分支提交到远程仓库,即创建了远程分支dev。
但是这样git push origin 本地分支名
,把当前分支推送到远程了,但是没有与本地分支建立起连接,使用git pull 会报错
这个时候需要给本地分支与远程的分支进行建立连接:
git branch --set-upstream-to=origin/dev
此时,在进行git branch -vv 进行查看
也可以在push的时候直接加上--set-upstream
直接关联,一步到位
git push --set-upstream origin dev
- 删除远程分支
git push --delete origin dev
或者:
git push origin :dev
- 查看分支:
* 查看本地分支对应的远端分支
git branch -vv
* 查看全部分支: 即所有远程分支和本地分支
`git branch -a`
* 查看远程分支
`git branch -r`
* 查看本地分支
`git branch `
git pull 报错:error: cannot lock 'ref/remotes/origin/blahblahblah': is at something but expected somethingelse
执行命令:
running: git gc --prune=now
清空远程不存在的分支对象
and deleteing .git/refs/remote/origin 删除本地的依赖关系文件