git pull

git pull

要是使用命令git pull前,本地仓库和工作区并不一致怎么办?不用担心这个,此时如果使用该命令,则会有下列提示

error: Your local changes to the following files would be overwritten by merge:
        test2.txt
Please commit your changes or stash them before you merge.

提示你提交修改到本地仓库或暂时存储一下。提交修改都本地仓库不用多讲。暂时存储步骤如下:

git stash \\先将本地修改暂存起来
git stash list  \\查看保存信息
git pull     \\拉取内容
git stash pop   \\还原暂存的内容

使用git pull 根据远程仓库和本地仓库的状态不同,主要分为以下四种情况。

  1. 当远程仓库的分支比本地仓库版本提前,使用git pull,本地仓库,暂存区和工作区都会被替换成远程仓库分支的版本。

  2. 当远程仓库的分支落后于本地仓库的版本时,使用git pull,没有如何效果,提示Already up to date.

3.当远程仓库和本地仓库是同一个分支的两个分叉的时候,比如 远程仓库一开始跟本地仓库版本一致都是A,后来远程仓库对文件进行了修改,设为版本B,而本地仓库也对文件进行了修改,设为版本C。这时,如果使用git pull,则会产生冲突,对版本B和版本C的修改会同时存在本地工作区中的文件里,你需要修改后进行保存,决定代码内容具体是哪一个,再git commit -a -m "message",提交到分支,然后git push,使远程仓库和本地分支同步。

  1. git pull 失败 ,提示:fatal: refusing to merge unrelated histories,其实这个问题是因为 两个 根本不相干的 git 库, 一个是本地库, 一个是远端库, 然后本地要去推送到远端, 远端觉得这个本地库跟自己不相干, 所以告知无法合并,使用这个强制的方法git pull --allow-unrelated-histories,后面加上 --allow-unrelated-histories , 把两段不相干的 分支进行强行合并,后面再push就可以了 git push

你可能感兴趣的:(git pull)