2
我在github
上分叉了回购。我同步我的分叉回购与生产一个创建upstream
端点,因此命令git remote -v
在git push force后删除提交
origin [email protected]:some_repo.git (fetch)
origin [email protected]:some_repo.git (push)
upstream [email protected]:some_repo.git (fetch)
upstream [email protected]:some_repo.git (push)
要同步,我跑这
git fetch upstream;git checkout master;git merge upstream/master
但合并与吨的冲突失败。所以我决定强制合并跑
git push --force upstream master:master
想这应该从上游主分支强行进入我的本地主分支。
问题是,我误导了,似乎我的分叉repo的状态已经推送到远程上游分支,以便我丢失了上游远程分支上的所有提交,这一个先前从实际的状态我的分叉回购。我怎样才能恢复上游远程分支的实际状态?
感谢您的回应:事实上,这很奇怪,但我只是进行了一个'git add .'和'git commit ...',然后我恢复了所有9个新的提交。但有两件事很奇怪:1)如果我运行'git reset --hard HEAD ^',我倒退了9次提交。这9个提交似乎对应于1个单独提交。其次,在工作之后,删除一些文件,添加一些新的工作和提交,我试图压扁其中一些,然后我收到一条消息'警告:无法合并二进制文件:... - 错误:无法应用SHA1_commit ... '二进制文件恰好是我删除的文件。你有好主意吗 ? – Newben
@Newben它可能是一个合并提交(你在你第一次拉的那个) – VonC
@Newben如果可以的话,检查引用日志并重置你的分支到sha1的上游/主 – VonC