git使用常见问题

作者: Xcoder_ | 来源:发表于2017-07-12 17:01 被阅读843次
1、问题描述:

出现 Your branch and 'origin/master' have diverged,
(use "git pull" to merge the remote branch into yours)
nothing to commit, working tree clean

解决办法:

如果不需要保留本地的修改,只要执行下面两步:

$ git fetch origin
$ git reset --hard origin/master

KUNdeiMac:test kun$ git status
On branch master
Your branch and 'origin/master' have diverged,
and have 3 and 3 different commits each, respectively.
  (use "git pull" to merge the remote branch into yours)
nothing to commit, working tree clean
KUNdeiMac:test kun$ git branch -a
* master
  remotes/origin/master
KUNdeiMac:test kun$ git fetch origin 
KUNdeiMac:test kun$ git reset --hard origin/master
HEAD is now at a79252b 删除文件.gitignore
KUNdeiMac:test kun$ git status
2、问题描述:

当 git push 时出现Updates were rejected because the tip of your current branch is behind错误。

【分析】:因为远程repository和我本地的repository冲突导致的,而我在创建版本库后,在github的版本库页面点击了创建README.md文件的按钮创建了说明文档,但是却没有pull到本地。这样就产生了版本冲突的问题


image.png
解决办法:

参考:http://www.cnblogs.com/daemon369/p/3204646.html

三种解决办法:

1.使用强制push的方法:

$ git push -u origin master -f

这样会使远程修改丢失,一般是不可取的,尤其是多人协作开发的时候。

2.push前先将远程repository修改pull下来

$ git pull origin master

$ git push -u origin master

3.若不想merge远程和本地修改,可以先创建新的分支:

$ git branch [name]

然后push

$ git push -u origin [name]
3、问题描述:

The --set-upstream flag is deprecated and will be removed. Consider using --track or --set-upstream-to

解决办法:

正确的本地分支关联远程分支命令 是

$ git branch --set-upstream-to <remote>/<branch> <localbranch>

KUNdeiMac:test kun$ git status
On branch master
Your branch is up-to-date with 'myorigin/master'.
nothing to commit, working tree clean
KUNdeiMac:test kun$ git branch -a
* master
  remotes/myorigin/master
  remotes/origin/master
KUNdeiMac:test kun$ git branch --set-upstream-to origin/master
Branch master set up to track remote branch master from origin.
KUNdeiMac:test kun$ 
4、问题描述:

合并pull两个不同的项目失败 ,提示:fatal: refusing to merge unrelated histories]

解决办法:

$ git pull origin master --allow-unrelated-histories

5、问题描述:

关于origin/HEAD,git可以默认选择哪个分支(即克隆时), 默认情况下origin / HEAD指向的即为默认分支,比如origin/HEAD -> origin/master ,指向的origin/master即为默认分支。

解决办法:

参考:https://stackoverflow.com/questions/354312/why-is-origin-head-shown-when-running-git-branch-r

① 您可以在GitHub repo的管理设置中更改此设置。 您也可以从命令行设置

$ git remote set-head origin trunk

② 或者删除它

$ git remote set-head origin -d

KUNdeiMac:SKCamera kun$ git branch -a
* master
  remotes/origin/HEAD -> origin/master
  remotes/origin/master

KUNdeiMac:SKCamera kun$ git remote set-head origin -d
KUNdeiMac:SKCamera kun$ git branch -a
* master
  remotes/origin/master
KUNdeiMac:SKCamera kun$ 

相关文章

  • git使用常见问题

    1、问题描述: 出现 Your branch and 'origin/master' have diverged,...

  • Git 使用常见问题

    1. 当提交的远程仓库里的修改有 bug ,需要回退到前一个或者几个版本的时候,可以使用以下三种方法中的任意一种:...

  • Git使用常见问题

    git status不能显示中文 使用git status命令查看有改动且未提交的文件时总只显示数字串,显示不出中...

  • 最简洁的Git介绍

    一、解决问题 1、Git原理;2、Git的常见操作;3、Git常见问题以及相关操作; 二、Git原理 1、四大区域...

  • git 入门系列(一)

    git学习-commit、push常见问题及解决措施(一) git commit 当本地修改完分支,准备将暂存区的...

  • Git的使用二:常见问题

    常见问题: commit的时候出现问题 从字面意思上可以读出:本地的repository被锁住了,我们要做的就是解...

  • Git 日常使用常见问题 (二)

    今天我将带大家完成前十关。第一关在前文中已经完成,我们从第二关开始吧。 如对任何命令有疑问请看第一篇里的推荐教程。...

  • Git 日常使用常见问题 (一)

    开篇 如今,Git 大行其道,颇有一统天下之势。 如果你的技能树上 Git 和 Github 的图标还没有点亮的话...

  • Git 日常使用常见问题 (三)

    闯过这 54 关,点亮你的 Git 技能树 (三) - 软件匠艺 - SegmentFault 今天我将带大家完成...

  • 本地项目关联远程Git仓库

    步骤 本地项目初始化 git 关联远程仓库 提交暂存 提交到分支 推送 移除 git 常见问题 如何配置邮箱和用户...

网友评论

  • 咖啡老师:第一个问题的解决方法最不合适。可以直接在编辑框输入shift + zz就可以了
    Xcoder_:@律动清风 谢谢你的建议,我也认为撤销当前的修改代价的确比较高,那是因为我没找到最好的解决办法。你说“一个同事过来直接在Vim框里按下Shift 和ZZ就pull 好了”这句话能否贴个截图看下你的操作步骤呢?vim编辑哪个文件呢 ?期待你的回复!:smile:
    咖啡老师:@Xcoder_ 我昨天就遇到了那个问题,其实就是合并时的异常冲突(具体啥原因我也不清楚),只需要保存当前修改就好了,我的一个同事过来直接在Vim框里按下Shift 和ZZ就pull 好了。shift+zz就是命令ZZ,退出VIM,如果文本已经经过编辑,则首先保存文件。你给的那个方法非常不合适,试想如果我修改了一堆代码,pull 失败了,你让我回滚会最初的状态,这代价太高了吧
    Xcoder_:vim编辑框? 能不能贴下你的操作步骤呢?

本文标题:git使用常见问题

本文链接:https://www.haomeiwen.com/subject/orubhxtx.html