• 关于github中local与remote不能同步的问题


    我使用的windows版,功能相对没那么强大,而我又比较菜鸟。
    今天遇到local的修改没有commit就直接同步remote,结果local修改完毕commit后再publish,提示出错。原因是,存在remote的commit与local的commit的head不同,看了网上的答案,最后,我将remote的head建立一个分支,再合并到本地的head中,再提交,结果成功。
    提示:合并前,一定要把本地的修改commit一次!

    强制推送:

    git push git@github.com:username/XXX.git +master


    git push origin +master

    这个有大大的副作用,因为是强制推送。如果存在local与remote文件冲突,则local修改将强制覆盖remote修改。
    推荐使用rebase,若有pull/push冲突将会提示你对比代码再手动修改!

    如果是本地的其它分支推送到master,则可以使用:

    $ git push origin test:master // 提交本地test分支作为远程的master分支
    $ git push origin test:test // 提交本地test分支作为远程的test分支

    注意,删除远程分支也是使用相同的命令,例如:如果:左边的分支为空,那么将删除:右边的远程的分支。
    $ git push origin :test              // 刚提交到远程的test将被删除,但是本地还会保存的,不用担心

    一次痛苦的折腾:
    remote的master混乱,决定将其删除,再由本地上传一份合格的分支
    #从remote fetch指定分支内容,本地没有develop,fetch会帮忙建立
    git fetch origin master:develop
    #切换到develop新分支
    git checkout develop
    #硬删除下载后的最新一个commit
    git reset --hard HEAD^
    #向前推一个commit后,又提示本地还有没有commit的内容,因为这些更改没有用,因此不再记录这些修改
    git checkout -- .
    或git reset --hard
    #!important 清理仓库,-fd,清理没有被git跟踪(没有特别指定add或配置文件指定不track)的文件和目录!小心使用!!!
    git clean -f -d
    #衍合temp,解决冲突(这里有一大串冲突内容)
    git rebase develop temp
    #指针快进
    git checkout develop
    git merge temp
    #好了,现在develop是最新的分支,远程的master已经混乱了,我要把它删除掉,但在这之前先在remote 建立一个develop
    git push origin -f develop:develop
    #问题出现(其实之前的步骤多多少少出现了问题),可以连接到github,也可以解压和上传,消耗一大把时间过后,
    #提示:the remote end hung up unexpectedly。在stachoverflow查询过后发觉是ssh的问题(因为我两部电脑共用一个帐号),
    #经过一翻无效折腾,决定重新生成一个新的ssh key,参考https://github.com/settings/ssh页面,
    #提示:powershell提示输入的密码是不会用*代替的,也不会有任何屏幕显示,尽管放心输入,它会记录你两次的输入是否相同
    #再次push(最好使用先pull再push),这样的快进提交可以保证多人合作的提交不会覆盖,(相反,使用-f则为强制覆盖远程),
    #HEAD指代本分支
    git push origin -f HEAD:develop
    #在github上将develop设了默认分支,然后删除master
    git push origin :master
    #将本地改好的master上传
    git push origin -f master
  • 相关阅读:
    黄聪:jquery mobile通过a标签页面跳转后,样式丢失、js失效的解决方法
    黄聪:jquery mobile使用form进行post提交表单没有反应,显示空白页解决方案
    黄聪:手机移动站Web响应式开发工具Viewport Resizer插件(360浏览器、谷歌Chrome浏览器兼容)
    黄聪:Discuz自制模板带jquery时与discuz本身冲突解决办法
    HTML ISO-8859-1 参考手册
    黄聪:wordpress自定义post_type,并且自定义固定链接
    黄聪:wordpress如何使用get_avatar禁止调用gravatar头像,替换为自定义头像
    Pro MapFrame
    ArcGIS Pro Layout
    pro Map
  • 原文地址:https://www.cnblogs.com/sumsung753/p/3821525.html
Copyright © 2020-2023  润新知