我曾经很笨,不知道fork和clone是怎么工作的。因此,为了处理其他人的 github 存储库,我下载了该存储库的文件(不使用 SC),创建了我自己的新存储库,然后将这些文件提交给它。
现在我知道我应该在原始项目的一个分支上工作,但是如果我打开一个新的分支,将我的私有(private)仓库中的所有文件复制粘贴到新的分支并提交,它将显示为单个巨大的提交,我将丢失旧仓库的所有评论历史,这将是可怕的。
这是我以某种方式打开 fork 并“重做”我对本地新存储库所做的所有提交的一种方式吗?这样它们就会像在 fork 上完成的那样显示出来吗?有点像 rebase ,但在项目而不是分支之间。
最佳答案
解决这个问题的最佳方法可能是通过单击“ fork ”按钮正常 fork 存储库,然后将现有本地克隆上的 origin
远程 URL 设置为 fork 的 URL。
我会说确保在您最初克隆它的提交处 fork repo 协议(protocol),但 GitHub 只允许您 fork 当前的 HEAD。因此,在这种情况下,我建议您从新的 fork 来源进行 rebase 。
像这样:
you@your-machine ~/path/to/existing_repo $
git remote add origin git@github.com:you/your-forked-repo
git pull origin master --rebase
关于git - 在github上追溯一个项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48120641/