美文网首页
使用git仓库在多台pc中同步代码

使用git仓库在多台pc中同步代码

作者: 可乐大爷 | 来源:发表于2018-12-23 19:55 被阅读0次

需求:

有如下电脑:mac pro,home pc win7,office pc win10,要在它们之间方便的同步代码。
因为代码的安全性问题,不能将git仓库放到github等第三方仓库。所以考虑自建仓库。
因为现在没有购买云主机,所以暂时在笔记本上建立git仓库。

总的步骤:

  1. 建立仓库
  2. 使用ssh密钥进行git操作

建立仓库

首先在mac pro中建立仓库,这样home pc和mac pro都通过这个仓库来同步代码。如果office pc也想要使用这个仓库,可以通过我在bwg上的vps建立反向代理。

在mac pro上,使用下面的命令基于已经存在的工程(已经git init过)构建一个裸仓库
$ git clone --bare my_project my_project.git
把这个my_project.git放到一个喜欢的目录下,这个目录专门放各自仓库。例如 /data/local/app/rep/my_project.git。
在mac pro上,可以使用$ git remote add local /data/local/app/rep/my_project.git 将你的工程关联到这个仓库。

用ssh密钥进行git操作

开启mac pro的远程访问

要在home pc上访问mac pro的仓库,首先要开启mac pro的ssh远程访问权限。

查看ssh远程服务状态
sudo systemsetup -getremotelogin
如果已经开启的话,指令会显示“Remote Login: On”,反之就会显示“Remote Login: Off”
开启ssh服务:
sudo systemsetup -setremotelogin on
关闭ssh服务:
sudo systemsetup -setremotelogin off
或者按照下面步骤设置:

系统偏好设置->共享->勾选远程登录,设置运行登录的用户

以上设置完毕后,因为我在家里是局域网,在home pc上就可以使用git clone macuser@macip: /data/local/app/rep/my_project.git 来复制这个工程。此时会让你输入mac pro的用户密码,并且每次git操作都需要,这个时候就需要使用ssh密钥来进行没有密码的git操作。

创建和证书

ssh-keygen -t rsa -C "12345678@qq.com"
执行后生成两个文家,id_rsa.pub是公钥,另一个是私钥。
公钥放到服务端,私钥放到请求端。
在mac pro 的终端中,执行下面的命令把公钥追加到ssh服务端。
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
把私钥复制到home pc中,放到一个喜欢的目录 C:\Users\Administrator\.ssh\id_rsa
C:\Users\Administrator\.ssh目录下新建一个config文件,添加下面配置(已有文件则追加下面配置):

Host 192.168.1.25 
HostName 192.168.1.25
PreferredAuthentications publickey
IdentityFile C:\Users\Administrator\.ssh\id_rsa
User macuser

192.168.1.25 为局域网下的mac pro 的ip,实测host和hostname都必须使用这个ip。最后一行是mac登录用户的账户名,就是mac pro终端中$符号前面的用户名。

至此,可以使用
ssh macuser@192.168.1.25来远程登录mac pro而不必输入密码。
也可以在你clone的工程目录下,使用git pull origin等命令来管理你的代码而不必输入密码。

相关文章

  • 使用git仓库在多台pc中同步代码

    需求: 有如下电脑:mac pro,home pc win7,office pc win10,要在它们之间方便的同...

  • git使用手册

    git 版本管理 在server上创建代码仓库 使用Pycharm 同步server 的代码 Pycharm 中提...

  • coding使用(和github差不多,相当于国内的github

    将本地代码使用git提交到coding仓库 在命令行中创建git仓库// 创建一个README.md文件git ...

  • Git多仓库同步全部分支代码

    将一个git远程仓库的所有分支代码同步到另外一个git仓库。

  • 使用GitLab Mirrors同步Git仓库

    笔者需实现多个Git仓库数据的同步,大致是从一个远程的Git仓库同步代码到公司内部的GitLab仓库。经过调研,笔...

  • git使用流程

    eg:在远程代码库创建了一个新的文件 同步远程git仓库 //不同步会冲突git statusgit fetch...

  • git 分支切换合并

    1、git clone 当我们想要从远程git 仓库中拉取一份全代码, 我们会使用git clone git_仓库...

  • 学习如何使用git

    学习如何使用git git的初始设置 git仓库的ssh密钥 远程仓库的设置 远程仓库与本地仓库的同步(参考了这篇...

  • git简单操作

    使用 git init 在目录中创建新的 Git 仓库 使用git clone [url]拷贝一个 Git 仓库到...

  • Git创建仓库与修改提交

    一、创建Git仓库 版本控制就是为了管理代码,代码就要放在仓库(Repo)中。在Git中创建仓库有如下两种方式: ...

网友评论

      本文标题:使用git仓库在多台pc中同步代码

      本文链接:https://www.haomeiwen.com/subject/rnmwkqtx.html