复制存储库并摆脱与其父存储库的任何依赖关系的正确方法是什么?
Which is the right way to duplicate a repository and get rid of any dependency with it's parent?
我需要在不分叉的情况下复制一个存储库,因为我不会对父存储库进行任何 PR。所以我从 Github 中找到了 this docs 并按照其中的步骤操作。
原始存储库是docker-nginx-php and I have created the duplicated in my account under another-lamp-docker
我希望看到的只是存储库的副本,但没有提及以前的提交、贡献者、作者等,是的,我没有偷这个作品,我会让人们知道 README
新作品基于此原始存储库。
因此,我看到了以下行为:
- 下图显示了复制存储库的主屏幕:
- 下图显示了分支选项卡,显示了原始存储库中的第 4 个分支,但也显示了某种依赖关系。
- 即使在贡献者选项卡上,我也看到了老主人
- 这是复制存储库的预期行为吗?
- 我可以删除所有这些历史信息(我相信这就是它)信息吗?
- 如果是怎么办?
如果你真的想删除所有过去的历史:
- 克隆存储库。
- 删除
.git
目录 (rm -rf .git
)
- 初始化新的 git 存储库(
git init
)
- 提交所有文件(
git add .; git commit -m 'Initial commit'
)
- 在 GitHub
上创建目标存储库
- 将 github 存储库配置为远程 (
git remote add origin git@github.com:...
)
- 将您的本地存储库推送到 GitHub (
git push -u origin master
)
现在您拥有原始存储库中的所有文件,没有任何历史记录。
虽然这会奏效,但我认为这通常不是一个好主意。如果你要 fork 一个现有的项目,为什么不通过现有的 "fork" 机制来做呢?你想通过消除现有项目的贡献历史来避免什么?这将使您更难合并原始存储库中的更改和错误修复(当然,如果您修复了一些普遍感兴趣的内容,您将更难回馈更改)。
当您复制一个存储库时,您也会复制它的 .git 历史所在的文件夹,所以是的,这是预期的行为。
是的,你可以摆脱它,看看this答案。
我建议只下载 zip 文件并将其转换为 git 存储库。然后你可以设置你的远程 url 并推送到新的 repo。 GitHub
中不应出现任何历史记录或之前的所有者
- 下载 Zip
cd
在项目目录中,并使用 git init
将项目文件夹转换为本地 Git 存储库
- 使用
git add .
将项目文件添加到暂存区
- 将您的遥控器 git url 设置为
git remote add origin <url>
- 在本地提交
git commit -m 'message'
- 使用
git push -u origin master
推送到远程
我需要在不分叉的情况下复制一个存储库,因为我不会对父存储库进行任何 PR。所以我从 Github 中找到了 this docs 并按照其中的步骤操作。
原始存储库是docker-nginx-php and I have created the duplicated in my account under another-lamp-docker
我希望看到的只是存储库的副本,但没有提及以前的提交、贡献者、作者等,是的,我没有偷这个作品,我会让人们知道 README
新作品基于此原始存储库。
因此,我看到了以下行为:
- 下图显示了复制存储库的主屏幕:
- 下图显示了分支选项卡,显示了原始存储库中的第 4 个分支,但也显示了某种依赖关系。
- 即使在贡献者选项卡上,我也看到了老主人
- 这是复制存储库的预期行为吗?
- 我可以删除所有这些历史信息(我相信这就是它)信息吗?
- 如果是怎么办?
如果你真的想删除所有过去的历史:
- 克隆存储库。
- 删除
.git
目录 (rm -rf .git
) - 初始化新的 git 存储库(
git init
) - 提交所有文件(
git add .; git commit -m 'Initial commit'
) - 在 GitHub 上创建目标存储库
- 将 github 存储库配置为远程 (
git remote add origin git@github.com:...
) - 将您的本地存储库推送到 GitHub (
git push -u origin master
)
现在您拥有原始存储库中的所有文件,没有任何历史记录。
虽然这会奏效,但我认为这通常不是一个好主意。如果你要 fork 一个现有的项目,为什么不通过现有的 "fork" 机制来做呢?你想通过消除现有项目的贡献历史来避免什么?这将使您更难合并原始存储库中的更改和错误修复(当然,如果您修复了一些普遍感兴趣的内容,您将更难回馈更改)。
当您复制一个存储库时,您也会复制它的 .git 历史所在的文件夹,所以是的,这是预期的行为。
是的,你可以摆脱它,看看this答案。
我建议只下载 zip 文件并将其转换为 git 存储库。然后你可以设置你的远程 url 并推送到新的 repo。 GitHub
中不应出现任何历史记录或之前的所有者- 下载 Zip
cd
在项目目录中,并使用git init
将项目文件夹转换为本地 Git 存储库
- 使用
git add .
将项目文件添加到暂存区
- 将您的遥控器 git url 设置为
git remote add origin <url>
- 在本地提交
git commit -m 'message'
- 使用
git push -u origin master
推送到远程