2010-12-12 457 views
4

我最近更改了我的编程机器,这导致了一些启动问题,导致我的新编码源与我现有的Github repo和我的Heroku应用程序无缝集成。git pull - 在再次推送前合并远程更改

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

  • 当我做git add .git commit -m "mychanges"git push,代码被直接寄到的Heroku。它曾经被发送到我自己的Github回购站,但我明白这是一个简单的问题,重新定义什么被视为'起源'。
  • 重新定义起源于我的GitHub库的地址,并输入git push origin master后,我得到以下错误:
    错误:未能一些裁判推到“[email protected]:...”
    为了防止你losinghistory ,非快进更新被拒绝。在再次推送之前合并远程更改('git pull')。

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

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

回答

10

git不会覆盖您的数据,除非您使用重置。 git pull将接受origin/master(假设您的分支是主人)的提交并尝试快速转发您的本地分支到该点,合并任何本地更改。如果你已经在本地提交了,并且这些提交意味着要在服务器上进行任何更新的提交后执行,则可以改为git pull --rebase