Raf*_*afe 168 git github git-fork
我目前在github上有一个私有存储库,我想公开它.但是,一些初始提交包含我不想公开的信息(硬编码的创意等).
在不包含部分或全部提交历史记录的情况下,将最新提交公开(我真的不需要或想要公共存储库中的先前提交)的最简单路由是什么?
Gau*_*ier 272
您可以在克隆时限制历史记录的深度:
--depth <depth>
Create a shallow clone with a history truncated to the specified
number of revisions.
Run Code Online (Sandbox Code Playgroud)
如果您想要有限的历史记录,请使用此功能
Aga*_*eli 227
使用以下命令:
git clone --depth <depth> -b <branch> <repo_url>
Run Code Online (Sandbox Code Playgroud)
哪里:
depth
是您要包含的提交量.即如果你只是想要最新的提交使用git clone --depth 1
branch
是要从中克隆的远程分支的名称.即如果你想从master
分支使用最后3次提交git clone --depth 3 -b master
repo_url
是您的存储库的URLJ W*_*J W 10
删除.git
文件夹可能是最简单的路径,因为您不需要/不需要历史记录(如Stephan所说)。
所以,你可以从你的最新创建一个新的回购承诺: (如何克隆的种子/无整个历史脚踏启动项目?)
git clone <git_url>
Run Code Online (Sandbox Code Playgroud)
然后删除.git
,然后运行
git init
Run Code Online (Sandbox Code Playgroud)
或者,如果您想重用当前的 存储库,请执行以下操作:使当前的提交成为Git存储库中唯一的(初始)提交?
然后按照上述步骤操作:
git add .
git commit -m "Initial commit"
Run Code Online (Sandbox Code Playgroud)
推送到您的仓库。
git remote add origin <github-uri>
git push -u --force origin master
Run Code Online (Sandbox Code Playgroud)
#!/bin/bash
set -e
# Settings
user=xxx
pass=xxx
dir=xxx
repo_src=xxx
repo_trg=xxx
src_branch=xxx
repo_base_url=https://$user:$pass@bitbucket.org/$user
repo_src_url=$repo_base_url/$repo_src.git
repo_trg_url=$repo_base_url/$repo_trg.git
echo "Clone Source..."
git clone --depth 1 -b $src_branch $repo_src_url $dir
echo "CD"
cd ./$dir
echo "Remove GIT"
rm -rf .git
echo "Init GIT"
git init
git add .
git commit -m "Initial Commit"
git remote add origin $repo_trg_url
echo "Push..."
git push -u origin master
Run Code Online (Sandbox Code Playgroud)
小智 6
您可以将 GitHub 存储库设置为模板(通过转到设置并选择存储库名称下方的选项)。然后,“代码”页上将出现一个“使用此模板”按钮。这会复制所有文件,但会删除所有历史记录,如果您将原始存储库保留为私有,则不会在存储库名称下显示任何详细信息(请注意,它将显示在您的网站上,因为您拥有这两个文件,但不会向其他任何人显示) 。仅当存储库是公开的时,原始存储库的链接才会出现在存储库名称下。
归档时间: |
|
查看次数: |
66235 次 |
最近记录: |