我目前在github上有一个私有存储库,我想公开。然而,一些初始提交包含我不想公开的信息(硬编码的等等)。
在不包含部分或全部提交历史记录的情况下,将最新提交公开(我真的不需要或想要公共存储库中的先前提交)的最简单路由是什么?
答案 0 :(得分:217)
您可以在cloning:
时限制历史记录的深度--depth <depth>
Create a shallow clone with a history truncated to the specified
number of revisions.
如果您想要有限的历史记录,请使用此功能,但仍有一些。
答案 1 :(得分:194)
使用以下命令:
git clone --depth <depth> -b <branch> <repo_url>
其中:
depth
是您要包含的提交量。即如果您只想使用最新提交git clone --depth 1
branch
是要从中克隆的远程分支的名称。即如果您希望master
分支的最后3次提交使用git clone --depth 3 -b master
repo_url
是您的存储库的网址答案 2 :(得分:6)
"parse-server": "*",
答案 3 :(得分:4)
删除.git
文件夹是最简单的路径,因为您不需要/不需要历史记录(如Stephan所说)。
因此,您可以根据最近的提交创建新的存储库: (How to clone seed/kick-start project without the whole history?)
git clone <git_url>
然后删除.git
,然后运行
git init
或者如果您想重用当前的存储库: Make the current commit the only (initial) commit in a Git repository?
然后按照上述步骤操作:
git add .
git commit -m "Initial commit"
推送到您的仓库。
git remote add origin <github-uri>
git push -u --force origin master
答案 4 :(得分:0)
这不是挤压基准站的功能吗?压扁除最后一次提交以外的所有内容,然后(强制)推送它。
答案 5 :(得分:0)
您可以将 GitHub 存储库设置为模板(通过转到设置并选择存储库名称正下方的选项)。代码页上将出现一个“使用此模板”按钮。这会复制所有文件,但会删除所有历史记录,如果您将原始存储库保留为私有,则存储库名称下不会显示任何详细信息(请注意,它将显示在您的站点上,因为您拥有这两个文件,但不会显示给其他任何人) .只有当存储库是公开的时,才会在存储库名称下显示原始存储库的链接。