git pull - 在再次推送之前合并远程更改

时间:2010-12-12 23:18:48

标签: git github

我最近改变了我的编程机器,这导致一些启动问题,让我的新编码源与我现有的Github repo和Heroku上的应用程序无缝集成。

我最初使用git clone将Github repo克隆到我的新机器上。从那以后,发生了一些事情。

  • 当我执行git add .git commit -m "mychanges"git push时,代码会直接发送到Heroku。它曾经被发送到我自己的Github回购,但我知道这是一个简单的问题,重新定义被认为是“起源”。
  • 将原点重新定义为我的Github仓库地址并输入git push origin master后,我收到以下错误:
    错误:未能将某些引用推送到'git@github.com:...' 为了防止您丢失历史记录,拒绝了非快进更新。在再次推送之前合并远程更改('git pull')。

我担心如果我做了git pull,我的最后两天的编码将会丢失(我已经支持所有内容以防万一)。

我目前的想法:执行git pull并从我的备份中手动更新最近两天的文件,然后最终执行我的git push。这是正确的方法,还是有更优雅的解决方案?

1 个答案:

答案 0 :(得分:10)

除非您使用重置,否则

git不会覆盖您的数据。 git pull将在origin/master上进行提交(假设您的分支是主人)并尝试快速转发您的本地分支,合并任何本地更改。如果您已在本地提交,并且这些提交旨在追踪服务器上的任何更新的提交,则可以执行git pull --rebase