Dropbox冲突导致Github问题

时间:2018-05-18 13:58:19

标签: git github git-merge git-rebase

唉。所以Dropbox刚刚给我带来了一些问题,因为它不应该同步它。我不知道是merge还是rebase还是别的。我需要一些先进的gitfu。

我是项目中唯一的开发人员,因为我的桌面和笔记本电脑之间的切换而出现了冲突。没有其他人使用这个回购...我可以直接擦远程仓库并重新开始,它会没事的。 (我真的不想丢失历史记录,但是从代码POV中可以很好。)

正在运行git push只是说:

To github.com:JCW/kicker-ticketing.git
! [rejected]        master -> master (non-fast-forward) 
error: failed to push some refs to 'git@github.com:JCW/kicker-ticketing.git' 
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. 
hint: See the 'Note about fast-forwards' in 'git push --help' for details.

git status显示:

On branch master Your branch and 'origin/master' have diverged, 
and have 6 and 3 different commits each, respectively.
   (use "git pull" to merge the remote branch into yours)

nothing to commit, working tree clean

我删除了所有冲突的文件(包括.git/中的文件并手动添加了所有代码更改) - 我的本地仓库现在应该是远程origin/master

在这个特殊的独立开发情况下,最好的方法是将我的本地仓库推送到新的远程origin/master

我已经阅读了a few guides on rebase vs merge,但显而易见的解决方案仍然存在。

下次我会确保Dropbox在继续工作之前没有崩溃。叹息。

1 个答案:

答案 0 :(得分:2)

你说:

  

我的本​​地仓库现在应该是远程起源/主人

如果您确定,要从本地状态重置远程状态,请运行git push -f。这对远程端是破坏性的,所以如果你先备份它就好了。

作为一名独立开发人员(以及小团队),我更喜欢使用git pull --rebase来保持线性历史记录,因为这样我就可以更轻松地调试这样的问题。