Mark Git只作为本地存储库,因此无法推送?

时间:2016-04-18 17:24:44

标签: git github push

我有一个特别的项目,我永远不想推送给GitHub。也就是说,我只想在本地使用Git并确保它永远不会被推送到远程存储库。有没有办法标记目录/项目以便锁定并且 push 命令如果尝试将失败?这样我就不必担心不小心推它了。我一直在使用Git,因为添加/提交/推送根植于我的手指,我不希望在一些深夜编程会话中发生意外

3 个答案:

答案 0 :(得分:4)

两种选择(我知道):

1)删除本地存储库对远程存储库的引用。

git remote remove origin

通常,只有一个名为“origin”的远程引用。    您可以查看附加参考资料:

git remote show

2)保留引用,但将它们指向不同的存储库:

git remote set-url origin ${somethingElse}

答案 1 :(得分:3)

您可以添加pre-push挂钩以防止推送存储库。将现有.git/hooks/pre-push.sample重命名为.git/hooks/pre-push(如果该文件不存在,则创建该文件)。该文件的内容应如下所示:

#!/bin/sh

echo 'Repository cannot be pushed' 2>&1
exit 1

echo是可选的,但脚本应退出非0。

答案 2 :(得分:1)

您可以按如下方式添加本地遥控器:

1)使用以下内容在计算机的某处创建一个裸存储库:

git init --bare path/to/localrem.git

这将创建一个没有工作目录的裸存储库,这是实际遥控器中通常使用的。 (它会创建一个名为localrem.git的文件夹,这是通常的.git回购,但这适用于遥控器,很明显你可以更改localrem任意名称。

2)接下来在您的原始存储库中添加新的遥控器,就像添加任何普通遥控器一样,除了路径不是网址:

git remote add origin path/to/localrem.git

3)现在你可以按照自己的意愿推动,而不必担心世界会看到你的工作。

git push origin master

当然,这取决于您希望在本地遥控器中保留哪个分支。