如何使用树莓派(其他Linux设备也同理)搭建个人Git远程仓库

首先我们要分析一下问题,实现一个Git远程仓库服务器要知道:

  • 如何配置Git服务器端。
  • 如何连接远程仓库。
  • 如何从远程仓库push、pull、fetch等操作。

分析完发现蛮简单的,我们一步步来,首先是配置。

准备工作

由于是个人使用,就使用SSH协议来实现就好了。不过在这之前,我们有点准备工作要做。
首先我们在服务器端(也就是树莓派上)创建一个名为git的账户来专门用作git远程仓库,并且为创建一个.ssh目录并且修改其权限为700,在.ssh中使用touch命令新建一个名为authorized_keys的空白文件并且修改其权限为600。命令如下:

$ sudo adduser git
$ su git
$ mkdir .ssh && chmod 700 .ssh
$ touch .ssh/authorized_keys && chmod 600 .ssh/authorized_keys

这里的authorized_keys空白文件稍后有用。

然后我们回到客户端,这时候需要弄一个bare repository出来,也就是不包含当前工作目录的仓库。

我们先新建一个目录,然后将其变成git仓库。

# 创建一个名为gitproject的目录
$ mkdir gitproject
# 将工作目录切换到gitproject
$ cd gitproject
# 将其初始化为git仓库
$ git init
# 返回上级目录
$ cd ..

然后我们通过加上--bare选项来克隆这个仓库,来得到我们需要的新的bare repository:

$ git clone --bare gitproject gitproject.git
  Cloning into bare repository 'gitproject'...
  done.

可以看到提示我们克隆bare repository完成了。接下来我们需要把bare repository放到服务器上,也就是要开始配置服务器了。我们使用以scp来将刚才创建好的bare repositorygitproject.git放到树莓派服务器上,完整命令如下:

 $ scp -r my_project.git user@git.example.com:/srv/git

如果我们使用其他设备访问服务器,就能克隆这个bare repository啦。接下来就是如何连接这个仓库了,不过在这之前我们还有一些相关的准备工作要做。

这个时候会发现除了clone之外,push等操作会出问题,这是因为Git服务器通过SSH公钥进行认证,这时候我们就需要向其提供公钥。由于默认情况下,用户的SSH密钥存储在/.ssh目录下,所以我们输入以下这些命令来查看是否已经生成了公钥:

$ cd ~/.ssh
$ ls
id_rsa		id_rsa.pub	known_hosts

如果显示有id_rsaid_rsa.pub,那么就是已经生成了密钥(.pub后缀的是公钥,另一个是私钥)。如果没有显示这些文件,就使用ssh-keygen创建一下(在macOS和Linux中,ssh-keygen随SSH包提供),命令如下:

$ ssh-keygen -o
Generating public/private rsa key pair.
Enter file in which to save the key (/home/username/.ssh/id_rsa):
Created directory '/home/username/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/schacon/.ssh/id_rsa.
Your public key has been saved in /home/schacon/.ssh/id_rsa.pub.
The key fingerprint is:
# 这里显示的是密钥的指纹,最后是Git用户名

我们可以使用文本编辑器(vim、nano等)或者less、cat等命令查看~/.ssh/id_rsa.pub来查看公钥。

配置树莓派

刚才我们搞定了需要准备的目录、文件和密钥。
但是由于我们自己就是管理员,那么我们就需要复制公钥,在服务器端(也就是树莓派上)将其添加到我们之前创建的树莓派上用户gitauthorized_keys空白文件中,这里可以使用文本编辑器复制粘贴,也可以使用cat命令加在文件末尾。

这里可能有人会好奇如何从客户端复制文本粘贴到树莓派。我们可以使用ssh连接远程操作树莓派,详情请查看:https://blog.csdn.net/qq_33919450/article/details/122018257

这时候我们就可以在树莓派上为我们新建一个空仓库,以便等会使用。这里用git初始化仓库的需要使用git init --bare而不是git init,因为--bare选项可以让初始化的时候不创建工作目录。具体命令如下:

# 由于git用户只用作远程仓库,不会导入其他程序文件等,所以我们直接在用户git的目录下操作,不放到srv目录下
# 新建一个名为project.git的目录
$ mkdir project.git
# 切换到project.git目录下
$ cd project.git
# 使用--bare选项初始化该目录
$ git init --bare
Initialized empty Git repository in /srv/git/project.git/

我们回到本机,这时候我们就能将我们本地的Git仓库添加到树莓派上的远程仓库里了。具体命令如下(下面远程仓库地址到获取和解释请参考我的另外一篇博客https://blog.csdn.net/qq_33919450/article/details/122018257中的“获取树莓派的IP”部分):

# 切换到我们需要添加到远程仓库的项目的目录下
$ cd gitproject
# 如果打算创建一个空的,就新建一个目录后,add、commit之后,再进行着条命令
# 添加之前在树莓派上准备好的远程仓库,这里的origin将在以后指代这个远程仓库的地址,也可以理解成指代这个远程仓库
$ git remote add origin git@xxx.xxx.xxx.xxx:gitproject.git
# 将本地仓库push到远程仓库origin(指代git@xxx.xxx.xxx.xxx:gitproject.git)的master分支
$ git push origin master

这时候就算配置完远程Git仓库了。

如何操作

到时候我们就可以像GitHub一样使用了,clone、push、fetch、pull等。
这里简单讲一些常用的使用命令,例如跟踪、提交、还原)等,更多更详细的命令介绍可以看看我的另外一篇博客https://blog.csdn.net/qq_33919450/article/details/122020108

添加远程仓库

git remote add origin git@xxx.xxx.xxx.xxx:gitproject.git

重命名远程仓库

git remote rename old_name new_name

查看远程仓库

git remote show origin

移除远程仓库

git remote remove origin

修改或者添加文件之后,跟踪这些文件

git add .

提交更新

git commit . -m 'this is comment'

查看当前仓库中的文件的状态

git status

查看更详细当前仓库中的文件的状态

$ git diff

推送更新到远程仓库

git push origin master

查看提交记录

git log
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 要在Linux搭建Git远程仓库,需要按照以下步骤进行操作: 1. 安装Git:在Linux上安装Git,可以使用命令行工具或者包管理器进行安装。 2. 创建Git用户:为了安全起见,最好为Git创建一个专门的用户,用于管理Git仓库。 3. 创建Git仓库使用Git命令创建一个空的Git仓库,可以在本地或者远程服务器上创建。 4. 配置Git仓库:为Git仓库设置一些基本的配置信息,如用户名、邮箱等。 5. 克隆Git仓库:在本地或者其他服务器上克隆Git仓库,可以使用SSH或者HTTP协议进行克隆。 6. 推送代码:将本地代码推送到Git仓库中,可以使用Git命令或者Git客户端进行操作。 7. 拉取代码:从Git仓库中拉取代码到本地,可以使用Git命令或者Git客户端进行操作。 以上是在Linux搭建Git远程仓库的基本步骤,具体操作可以根据实际情况进行调整。 ### 回答2: 在Linux系统中,我们可以通过Git搭建一套远程仓库,以方便团队进行代码的共享和管理。下面是一个简单的步骤: 1. 安装Git:在Linux系统中使用以下命令安装Git: ``` sudo apt-get install git ``` 2. 创建git用户:使用以下命令创建一个名为git的用户: ``` sudo adduser git ``` 3. 创建Git仓库:在git用户的home目录下创建仓库文件夹,例如: ``` sudo mkdir /home/git/repo.git ``` 4. 初始化仓库使用以下命令初始化仓库: ``` sudo git init --bare /home/git/repo.git ``` 5. 设置仓库访问权限:在仓库目录下使用以下命令设置权限: ``` sudo chown -R git:git /home/git/repo.git sudo chmod -R 755 /home/git/repo.git ``` 6. 创建SSH密钥:使用以下命令在本地机器上创建SSH密钥: ``` ssh-keygen ``` 7. 将公钥添加至仓库:将生成的公钥(~/.ssh/id_rsa.pub)添加至git用户的.home目录下的authorized_keys文件中,例如: ``` sudo su git cd /home/git mkdir .ssh cd .ssh touch authorized_keys nano authorized_keys ``` 在authorized_keys文件中添加公钥。 8. 克隆仓库使用以下命令将远程仓库克隆到本地: ``` git clone git@ip:/home/git/repo.git ``` 其中,ip为远程服务器的IP地址;repo.git仓库文件夹。 至此,我们已经成功地在Linux系统中搭建了一个Git远程仓库。我们可以让团队成员通过SSH协议访问该仓库,并进行代码的管理和共享。 ### 回答3: Git是一个流行的版本控制系统,可以通过Linux操作系统搭建Git远程仓库。以下是搭建Git远程仓库的步骤,这将有助于您在Linux上设置仓库。 1.安装Git软件包:首先,安装Git软件包。Git是一个自由软件,可以从Git网站上免费下载。您可以使用以下命令安装Git: sudo apt-get install git 如果您使用的是不同的Linux发行版,请选择相应的命令来执行安装。 2.创建Git用户:创建一个专用的Git用户,充当版本控制仓库的管理员。此操作可增强安全性。 sudo adduser git 创建用户时,设置密码和其他信息。 3.创建Git仓库:选择要在Linux服务器上设置的Git仓库目录,并创建目录。然后为用户Git设置目录权限。 sudo mkdir /opt/git sudo chown git:git /opt/git 创建完成后,使用以下命令进入目录: cd /opt/git 您可以使用以下命令初始化仓库,并将它设置为共享资源: sudo git init --bare --shared=my-group my-project.git 其中 my-group 是组名,my-project.git 是创建的仓库。同时,Git要求您对各个项目分配名称。 4.设置远程访问:您应该设置一个访问Git仓库的方式。为此,请在虚拟主机上打开SSH,并创建仓库访问的公钥和私钥。 您可以使用以下命令生成SSH密钥: sudo su - git ssh-keygen -t rsa 将公钥添加到Git仓库: sudo cat /home/git/.ssh/id_rsa.pub >> /opt/git/my-project.git/.ssh/authorized_keys 5.下载代码仓库:现在,您可以将代码版本控制仓库Linux服务器下载到客户端。为此,您需要标识仓库位置、仓库名称以及提供SSH密钥。 git clone git@<ServerIpAddressOrHostname>:<RepositoryDirectory>/<RepositoryName>.git 最后,您可以使用以下命令离开Git用户: # exit 总之,以上是在Linux服务器上设置Git远程仓库的步骤。通过这些步骤,您可以更好地管理和维护仓库,从而更加有效地管理代码。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值