! [rejected] master -> master (fetch first) 【以及游离状态解决】
详情如下:
Administrator@Alex MINGW64 /d/PICC/picc_server (master) $ git push To :xxxx/xxxx/xx_server.git ! [rejected] master -> master (fetch first) error: failed to push some refs to ‘:xxxx/xxxx/xx_server.git’ hint: Updates were rejected because the remote contains work that you do hint: not have locally. This is usually caused by another repository pushing hint: to the same ref. You may want to first integrate the remote changes hint: (e.g., ‘git pull …’) before pushing again. hint: See the ‘Note about fast-forwards’ in ‘git push --help’ for details. Administrator@Alex MINGW64 /d/PICC/picc_server (master) $ git pull
另外一个很奇怪的事情就是: idea 中我commit 没任何问题,但是本地仓库 却缺少一个类,奇了怪了。麻溜的cv到本地repository,push 上去。
2019 .01.30
出现这个问题,idea 更新更新的错误,无法从远程拉代码。是因为本地仓库提交比起远成多一个 version 。下面接就我该问题即可。
Can’t update: no current branch: You are in ‘detached HEAD’ state, which means that you’re not on any branch Checkout a branch to make update possible.
git branch -a git branch -v git checkout 128376^ git checkout master git status git add . git commit -“hello world” git status
基本就这个流程,检出当前版本,检出master ,去除游离状态。 还有一种就是创建一个新的分支,通过merge 分支到master来处理该游离的问题。
2019.02.01 更新
好吧,提交代码准备撤了,最后一天班,这尼玛回退版本以后,在提交成游离状态了,嘎嘎。 1、先查看下提交的master 的历史,如上图;
git log --oneline
2、这里再查看下分支
git branch
3、查看下提交分支的版本号
git branch -v
4、请注意上面的图 的情况,切记不要有如下操作;git checkout master 这个命令直接切换到 master 分支,直接导致你代码丢失,那样的话,加班吧小伙子,重新写一遍你写的代码吧。
整体思路如下: 新建临时分支把代码推到仓库,合并分支,删除临时分支,删除时候需要注意,你推远程推成功了么?成功了的话,ok,删除临时分支就ok 了。
5、下面使用2 个命令查看当前的游离状态、
git status git reflog
7、新建分支doudou 把所有的分支的代码放到 doudou 下面,然后查看下当前状态。 貌似我记得这样处理以后,并不会有人知道doudou 这个分支曾经存在过,嘿嘿,就算老大也不知道你有这样的操作,神不知鬼不觉。 693e8d5
git branch doudou git checkout doudou git status
下图圈出来的 忽略文件的问题,最后解决,现在解决分支游离的问题。
8、我先把分支推到远程,这样保险一点。 然后checkout 到 这个分支 693e8d5 对应的分支,即 图6 所示的,也就是master 分支,当然,如果对应的是其他分支的话,比如693e8d5 对应的分支是老王的分支名字,老王的分支名字叫做GebiLaowang,检出该分支即可; 9、然后合并分支; 合并之前我先瞅瞅我的临时分支推上去了没有,看看内容,ok,现合并分支,麻溜弄完分支删了,蛇都不知道。
ok,在push 之前,先把和忽略文件给解决了, 把 这2 文件添加到 .gitignore 中 。 好了,现在添加了*.class 和上面的 target 文件目录到忽略文件。 git status -s 查看下忽略是否生效。 使用 git add . 添加到版本控制,忽略文件这块可以参考下面 的博文,较为详细。
10、推远端,查看远端仓库是否更新。
在idea 中查看下日志,ok ,已经ok了。最后别忘删除分支以后再推一个,这样把远程的分支干掉,然而,并不能实现我的想法,创建的分支,远程仓库的记录磨灭不了,擦擦,只有这样喽。 呼呼,ok 下班。