push代码死活push不上去。折腾了不少。出了不少问题。结果用最简单的办法解决了。java
代码终于写完,dome也写了,单元测试也过了,很是高兴,准备提交git
git push xxx xxx/dev-v1.0.1 T otal 0 (delta 0), reused 0 (delta 0) To ssh://gitlab.xxxx.cn:xx/xxx/gateway.git ! [remote rejected] xx/dev-v1.0.1 -> xxx/dev-v1.0.1 (deny updating a hidden ref) error: failed to push some refs to 'ssh://git@gitlab.xxx.cn:xxx/xxxx/gateway.git'
555555555555,提交不上去..... 宝宝的高兴劲被熄灭了...shell
git pull --rebase origin master
远程库与本地库同步。app
git push origin HEAD:master
肯定上传分支,一本默认为master,这一步便可,不行试试下一步再上传。dom
git push -u origin master
嗯,目前好了。ssh
写了不少代码,须要提交另一个远程服务,上面百度的方法失效了gitlab
第一步pull就失败了,后续两步也尝试了无效。单元测试
dell@DESKTOP-9UF9FEN /xxxx/work/xxx/gateway (detached HEAD|REBASE 5/16) git pull --rebase xxxx dev-v1.0.1 From ssh://gitlab.xxxx.cn:xxxx/xxxx/gateway * branch dev-v1.0.1 -> FETCH_HEAD It seems that there is already a rebase-apply directory, and I wonder if you are in the middle of another rebase. If that is the case, please try git rebase (--continue | --abort | --skip) If that is not the case, please rm -fr "D:/work/xxx/xxxx/.git/rebase-apply" and run me again. I am stopping in case you still have something valuable there.
git status 也无效测试
git status HEAD detached at xxxxx/dev-v1.0.1 nothing to commit, working tree clean
这个解决能够用,下面的命名解决lua
git rebase --abort
由于本地代码比远程的代码多几个提交,执行git pull --rebase 远程代码把本地代码覆盖了..悲剧。哎!!! 立刻想到回滚到最近的提交
git log commit 200b6141a884989124009487fa90deb776e2d047 (HEAD) Author: liukang <xxx@xxx.com> Date: Fri Sep 27 10:22:02 2019 +0800 add: 一、新增常量 xxxxx commit bcd2ed304174064539291dcb028cfcae3579a169 Author: liukang <xx@xxx.com> Date: Fri Sep 27 10:19:53 2019 +0800 add: 一、新增批量登记数据接口 git reset --hard 200b6141a884989124009487fa90deb776e2d047
结果发现代码仍是没有......
第一步执行 git reflog
git reflog 200b614 (HEAD) HEAD@{0}: pull --rebase xxx dev-v1.0.1: add: bcd2ed3 HEAD@{1}: pull --rebase xxx dev-v1.0.1: add: 3e585df HEAD@{2}: pull --rebase xxx dev-v1.0.1: add: 88c6b64 HEAD@{3}: pull --rebase xxx dev-v1.0.1: add: 5fcacb6 (xxxx/dev-v1.0.1, master, dev-1.0.1) HEAD@{4}: pull --rebase xxxx dev-v1.0.1: checkout 5fcacb6d64f0562cc796d16dd7f9dd2e9407c904 3ed474f HEAD@{5}: rebase: updating HEAD 1796d7f HEAD@{6}: commit (merge): pull 最新代码 3ed474f HEAD@{7}: reset: moving to 3ed474f 5fcacb6 (xxxxx/dev-v1.0.1, master, dev-1.0.1) HEAD@{8}: reset: moving to 5fcacb6 3ed474f HEAD@{9}: reset: moving to 3ed474f e4c2b62 HEAD@{10}: reset: moving to e4c2b62 3ed474f HEAD@{11}: reset: moving to 3ed474f 5fcacb6 (xxxxx/dev-v1.0.1, master, dev-1.0.1) HEAD@{12}: checkout: moving from 2713bf28e9d15541f022846eaf3a8d80a3074c8c to laohu/dev-v1.0.1 2713bf2 (origin/dev-v1.0.1) HEAD@{13}: checkout: moving from 63cbda1fcd160ae381a5c436fbf4d4a114e2ffb5 to origin/dev-v1.0.1 63cbda1 HEAD@{14}: reset: moving to 63cbda1fcd160ae381a5c436fbf4d4a114e2ffb5 3c8ecb3 HEAD@{15}: reset: moving to 3c8ecb3ca430ac05f4d0a3c48db8fdac53417e2e 76c47a1 HEAD@{16}: commit: 处理冲突 3c8ecb3 HEAD@{17}: commit: 解决更新问题
第二步执行 git reset --hard 【 找第一列的id, 1796d7f HEAD@{6}: commit (merge): pull 最新代码 。id为 1796d7f】
git reset --hard 1796d7f
当执行 git pull --rebase origin master,有这样的提示
dell@DESKTOP-9UF9FEN /xxxx/work/xxx/gateway (detached HEAD|REBASE 5/16)
重点:detached HEAD|REBASE 5/16
重点:detached HEAD|REBASE 5/16
重点:detached HEAD|REBASE 5/16
detached表示当前分支处理游离状态,意识是当前分支是直接在远程分支上进行操做的,没有与本地分支进行关联。解决detached状态就能够提交了。
第一步 经过建立临时分支解决分支的detached状态
git checkout -b new_tmp Switched to a new branch 'new_tmp'
第二步 切换到须要push的远程分支
git checkout xxxx/dev-v1.0.1 Note: checking out 'xxxx/dev-v1.0.1'.
第三步 建立本地分支
git checkout -b dev-v1.0.1 Switched to a new branch 'dev-v1.0.1'
第四步 把临时分支的代码合并到本地分支
git merge new_tmp Updating 5fcacb6..1796d7f
第五步 push代码到远程分支
git push xxxx dev-v1.0.1
每次pull远程分支,立马建立本地分支,在本地分支上开发,就不遇到detached问题,就不会出现上面的问题
detached的问题之前也出现过,简单的百度解决以后,没有探求根源。总是反复的出现一样的问题。今天探求了detached的根源,之后再出现detached的问题,能简单的解决了
PS: 吾' 探求根源