这是我第一次为开源项目做贡献,并且遇到了git问题。 我最初对仓库进行了分叉,然后将其删除,然后对其进行了分叉。 我从派生的管理员那里签出了一个dev分支,做了一些工作,现在我想为主仓库创建PR。 但是它说完全不同的提交历史。
我尝试了以下步骤,但没有帮助我
git remote add upstream https://github.com/some_user/some_repo
git fetch upstream
git checkout master
git reset --hard upstream/master
git push origin master --force
在这方面的任何帮助将不胜感激
git log -n10 upstream/master returns below snapshot
git log -n10 origin/dev returns below snapshot
git log -n10 origin/master returns below snapshot
答案 0 :(得分:2)
根据您发布的第二张屏幕截图,您似乎遵循了以下步骤:
您何时需要使用派生叉或原始GitHub存储库,然后下载其中的zip文件,进行更改,然后执行git init
,然后将其强行推入您的派生叉。
基本上发生的是,在执行此操作的过程中,您仅将文件复制到了fork中,而不是完整的历史记录。
既然我们现在知道发生了什么,我们就可以开始解决此问题,并且由于原始存储库不是很忙于流量,因此现在更容易解决。
因为我们要保留原始文件,但要合并历史记录,所以我们需要执行以下步骤:
git clone https://github.com/your_name/your_fork
.git
目录。git status
,这应该仅显示根据基本状态 1 git add .
git commit -m "Adding my feature"
(我建议您使用 more 描述性提交消息)git push
现在,转到原始 GitHub存储库,并尝试在那里建立PR,现在应该没问题。
1。如果git status不显示任何文件更改,则可能是因为您不小心从备份中复制了.git
目录