本地仓库与github远程仓库强制同步覆盖教学详解

在我们平时写程序或者管理项目的时候经常会改变本地git仓库里的文件,这样的话会使得github上的远程仓库和本地的仓库版本不同步,于是就需要我们使用强制命令去进行覆盖了。

强制push提交覆盖到远程仓库

首先我们使用git push提交本地仓库到github远程仓库的时候会有如下的问题:
fatal: The current branch wangxiao has no upstream branch.
To push the current branch and set the remote as upstream
git push --set-upstream origin master
或者:
error: failed to push some refs to ‘https://github.com/…’
hint: Updates were rejected because the tip of your current branch is behind
hint: its remote counterpart. Integrate the remote changes (e.g.
hint: ‘git pull …’) before pushing again.
于是我们使用强制命令:(master可以根据子的需要自定义,就是当前分支在远程分支对应的名称)

git push -u origin master -f

强制pull拉取覆盖本地仓库

在我们将远程仓库使用git pull拉取到本地的时候,又会出现这样的问题:

当前分支没有跟踪信息。
请指定您要合并哪一个分支。
详见 git-pull(1)。

git pull <远程> <分支>

于是可以执行:

git pull origin master

如果使用这个命令还是出现如下的问题:
$ git pull origin master
来自 https://github.com/itaken/python-login-demo

  • branch master -> FETCH_HEAD
    fatal: 拒绝合并无关的历史

可以使用:

git pull origin master --allow-unrelated-histories  

出现如下提示就表示合并成功了:

来自 https://github.com/itaken/python-login-demo

  • branch master -> FETCH_HEAD
    Merge made by the ‘recursive’ strategy.
    LICENSE | 21 +++++++++++++++++++++
    1 file changed, 21 insertions(+)
    create mode 100644 LICENSE

正确的使用方法

强制推拉当然是不太好的,特别是我们进行团队协作的时候
我们正确的步骤一般都是先pull合并远端再push提交:

git pull origin master
git push -u origin master
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值