我的所有代码/项目都以 repos 的形式保存在 github 中。我经常使用 git,但确实有一些项目无法同时推送到 github,我想在我的外部硬盘上保留备份,有没有现成的软件可以将外部硬盘变成 repo,这样我只需 git push 即可将代码推送到硬盘上的 repo 中?
这使得您在工作时推送消息并保留备份变得非常容易。
简单来说,Git hub 位于本地硬盘上。就是这样。
如果不存在,如何着手编写自己的软件?请给出您的见解。
答案1
GitHub 微服务器方法
为此,您需要一个公钥。有关生成公钥的信息可以在互联网上找到。现在就做。您马上就会需要它。您还需要openssh-server
安装该软件包。
首先,您需要为 Git 准备环境。为此,您需要创建一个用户。
sudo adduser git
su git
cd
mkdir .ssh
此用户将执行所有 Git 功能。您将需要在此处输入您的公钥。只需运行:
cat /path/to/your/public/key.pub >> ~/.ssh/authorized_keys
chmod -R go= ~/.ssh
现在,您已完全设置了 SSH 和 Git 用户。现在,我们需要创建一个 Git 项目。为此,请运行以下命令(仍以 Git 用户身份):
cd ~
mkdir git
cd git
mkdir project.git
cd project.git
git --bare init
每次想要创建新的 repo 时,都必须进入 shell 并执行上述命令。稍后会提供更多详细信息。我保证!
现在您有一个可以连接的 Git 服务器了!现在您可以用 Git 做所有您喜欢的有趣的事情了!
cd myproject
git init
git add .
git commit -m 'initial commit'
git remote add origin git@localhost:/home/git/git/project.git
git push origin master
当然,您可以邀请本地网络上的其他人使用这个 Git 服务器,只要他们使用您的本地 IP 而不是 进行连接即可localhost
。
现在,一个项目很可能不足以满足您的需求。幸运的是,有一种简单的方法来添加/删除存储库。运行以下命令:
su git
cd ~/git
mkdir project_name.git
cd project_name.git
git --bare init
然后,在需要时只需连接到其他 Git 存储库即可。这一切都只是改变变量而已!
您还可以(如果需要)使用 Git 的 Web 界面。信息可从GitHub 官方源。
本指南来源:git-scm.com-- 这是学习如何启动 Git 服务器的好地方。从 4.4(链接)开始,然后继续前进。
file:///
URI 方法
呸。正如@muru 在评论中指出的那样,Git 支持file:///
URI。这里有一种方法可以实现这一点,无需用户,但不需要微型服务器,以防你的朋友过来玩。
正如你:
cd ~
mkdir .git-projects
cd .git-projects
mkdir project.git
cd project.git
git --bare init
连接:
cd myproject
git init
git add .
git commit -m 'initial commit'
git remote add origin file:///home/user/.git-project/project.git
git push origin master
我个人更喜欢微型服务器。你可以更轻松地移动它,特别是如果你有 VPS 的话。
最后评论
SSH 服务器方法不允许您(轻松地)保存到外部硬盘,但该file:///
方法可以。只需更改路径即可!
理论上,你可以将“git”用户的主页放在外部硬盘上,但这可能会带来更多的麻烦。