git - 在github上追溯一个项目

标签 git github

我曾经很笨,不知道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/

相关文章:

linux - 错误: failed to push some refs to 'git@github.com:<name>/<project>.git'

git - 如何在 git 中使用 gitignore 命令

git pull --rebase upstream & git push origin 拒绝非快进?

git - 使用远程 git 存储库的本地 Netbeans 设置

android - 如何只下载 AOSP 源代码的工作目录而不下载整个 repo 历史记录?

ruby-on-rails - 如何处理我在 github 托管项目上的数据库凭据?

xcode - merge 分支的 Xcode 分支部分中的顶部箭头是什么意思?

git - git merge --squash 是否会导致跨分支 merge 令人头疼

github - 设置两因素身份验证后,我得到 "Repository not found"

Git 一直提到我的旧用户名,即使我找不到它的踪迹