Git: 搭建一个本地私人仓库

寝室放个电脑、实验室也有个电脑

为进行数据同步,充分利用实验室的服务器搭建了个本地私人仓库

1. 安装流程

当然首先保证服务器上与PC机上都已经安装了可用的Git

  1. 在PC机创建一个git仓库,该仓库做作为后续同步的仓库了,如:

    在PC机创建了C:\Users\ZhuCC\Desktop\git-test

    进入文件夹中,打开 git bash 输入 git init 初始化该仓库,如下

    ZhuCC@DESKTOP-3AB85C8 MINGW64 ~/Desktop/git-test
    $ git init
    Initialized empty Git repository in C:/Users/ZhuCC/Desktop/git-test/.git/
    (base)

    然后在该文件夹中随意放入一些文件,后续看看同步效果

    - git-test
    - 1.txt # 写个 1
    - 2.txt # 写个 2
    - 3.txt # 写个 3

    然后把这些文件同步一下:

    ZhuCC@DESKTOP-3AB85C8 MINGW64 ~/Desktop/git-test (master)
    $ git add *
    (base)
    ZhuCC@DESKTOP-3AB85C8 MINGW64 ~/Desktop/git-test (master)
    $ git commit -m "first"
    [master (root-commit) e1cb987] first
    3 files changed, 3 insertions(+)
    create mode 100644 1.txt
    create mode 100644 2.txt
    create mode 100644 3.txt
    (base)
  2. 进入服务器中,先输入命令ssh-keygen -t rsa -C创建一个服务器非对称秘钥

    (base) zzq@ubuntu-C246-WU4:~$ ssh-keygen -t rsa
    Generating public/private rsa key pair.
    Enter file in which to save the key (/home/zzq/.ssh/id_rsa): # 回车确定文件就建立在次
    Created directory '/home/zzq/.ssh'.
    Enter passphrase (empty for no passphrase): # 直接回车,不需要passphrase
    Enter same passphrase again:
    Your identification has been saved in /home/zzq/.ssh/id_rsa.
    Your public key has been saved in /home/zzq/.ssh/id_rsa.pub.
    The key fingerprint is:
    SHA256:73+kgj3czGdjTcgKaabdCmiHE4PmIqJygH6zpYaiPwo
    zzq@ubuntu-C246-WU4
    The key's randomart image is:
    +---[RSA 2048]----+
    | |
    | |
    | |
    | . |
    |. o o S . . . |
    |o o = .= + .|
    |E.o ..= oO.* + o |
    |*+o=o. ooo* B * .|
    |B+++o o=.= . |
    +----[SHA256]-----+
  3. 进入.ssh文件,创建 authorized_keys文件,并复制PC机上的公钥到该文件中

    (base) zzq@ubuntu-C246-WU4:~$ cd .ssh/
    (base) zzq@ubuntu-C246-WU4:~/.ssh$ vim authorized_keys
    # 然后PC机的公钥复制进去
    # 公钥的位置在:C:\Users\PC机用户名\.ssh\id_rsa.pub
    # 比如我的为:ssh-rsa A......s= zhuchengchao.zj@outlook.com
    # 复制完成后,如下:
    (base) zzq@ubuntu-C246-WU4:~/.ssh$ cat authorized_keys
    sh-rsa A......vACfSqFpS29u1M2JckD42Ww3CFQs= zhuchengchao.zj@outlook.com

    注意

    如没有该文件的话,在PC机上通过命令:ssh-keygen -t rsa -C "邮箱地址"来生成

  4. 打开文件:/etc/ssh/sshd_config,修改如下:

    RSAAuthentication yes
    PubkeyAuthentication yes
    AuthorizedKeysFile .ssh/authorized_keys
  5. 在服务器上创建一个空文件夹,作为和PC同步的仓库

    (base) zzq@ubuntu-C246-WU4:~$ mkdir git
    (base) zzq@ubuntu-C246-WU4:~$ cd ./git/
    (base) zzq@ubuntu-C246-WU4:~/git$ git init --bare git-test.git
    初始化空的 Git 仓库于 /home/zzq/git/git-test.git/ # 创建成功
    (base) zzq@ubuntu-C246-WU4:~/git$ cd ./git-test.git/ # 进入看下里面有啥
    (base) zzq@ubuntu-C246-WU4:~/git/git-test.git$ ls
    branches config description HEAD hooks info objects refs
  6. 开始同步:把PC机上创建的仓库同步到服务器上创建的仓库,在PC机上操作:

    ZhuCC@DESKTOP-3AB85C8 MINGW64 ~/Desktop/git-test (master)
    $ git remote add origin zzq@10.12.11.192:/home/zzq/git/git-test.git # 进行连接
    (base)
    ZhuCC@DESKTOP-3AB85C8 MINGW64 ~/Desktop/git-test (master)
    $ git remote -v # 查看是否连接成功
    origin zzq@10.12.11.192:/home/zzq/git/git-test.git (fetch)
    origin zzq@10.12.11.192:/home/zzq/git/git-test.git (push)
    (base)
    ZhuCC@DESKTOP-3AB85C8 MINGW64 ~/Desktop/git-test (master)
    $ git push origin master # 进行推送 PC->服务器
    zzq@10.12.11.192's password: # 输入服务器的密码
    Enumerating objects: 5, done.
    Counting objects: 100% (5/5), done.
    Delta compression using up to 4 threads
    Compressing objects: 100% (2/2), done.
    Writing objects: 100% (5/5), 284 bytes | 284.00 KiB/s, done.
    Total 5 (delta 0), reused 0 (delta 0)
    To 10.12.11.192:/home/zzq/git/git-test.git
    * [new branch] master -> master
    (base) # 推送成功
  7. 把服务器上的内容clone到PC机上,在PC机上操作:

    ZhuCC@DESKTOP-3AB85C8 MINGW64 ~/Desktop
    $ git clone zzq@10.12.11.192:/home/zzq/git/git-test.git
    Cloning into 'git-test'...
    zzq@10.12.11.192's password: # 注入服务器密码
    remote: 对象计数中: 5, 完成.
    remote: 压缩对象中: 100% (2/2), 完成.
    remote: Total 5 (delta 0), reused 0 (delta 0)
    Receiving objects: 100% (5/5), done.
    (base) # 克隆成功

emmm...

第一遍安装时,其实是不需要输入服务器密码的,可以直接push/clone

后来服务器崩了,被我重装后就需要每次都输入密码了,因为对使用影响不大所有也没有管,若有解决方案的麻烦告诉我一下,谢谢

2. 加上小乌龟

在PC机上,我安装了 TortoiseGit,通过其进行push/clone更加方便

具体对小乌龟的使用参考:TortoiseGit

  1. 配置小乌龟,在PC机上的仓库,右击选择 TortoiseGit -> 设置(s),如下

  2. 后续有 添加文件/ 提交/ 推送 直接右击选择相应功能即可,相当方便,这里按照添加新文件为例进行示范:

    当我在PC机的相应仓库中添加了一个文件:4.txt

    直接在仓库中右击选择TortoiseGit -> 添加(s)

    然后在弹出的界面中,选择提交(C),然后再在弹出的界面中添加上日志信息

    最后进行推送到远端

    推送成功:

参考

https://blog.csdn.net/qq_34284638/article/details/70154557

https://www.cnblogs.com/lixiaochao/p/6293316.html

Git: 搭建一个本地私人仓库的更多相关文章

  1. git怎么创建本地版本仓库

    git怎么创建本地版本仓库 安装git我就不用说了吧!下载地址:https://github.com/msysgit/msysgit/releases/download/Git-1.9.4-previ ...

  2. 微服务架构 - 搭建docker本地镜像仓库并提供权限校验及UI界面

    搭建docker本地镜像仓库并提供权限校验及UI界面 docker本地镜像仓库的作用跟maven私服差不多,特别是公司级或者是小组级开发好的docker仓库可以上传到本地镜像仓库中,需要用时,直接从本 ...

  3. 使用nexus搭建一个maven私有仓库

    使用nexus搭建一个maven私有仓库 大家好,我是程序员田同学.今天带大家搭建一个maven私有仓库. 很多公司都是搭建自己的Maven私有仓库,今天就带大家使用nexus搭建一个自己的私有仓库, ...

  4. 快速搭建一个本地的FTP服务器

    快速搭建一个本地的FTP服务器   如果需要开发FTP文件上传下载功能,那么需要在本机上搭建一个本地FTP服务器,方便调试. 第一步:配置IIS Web服务器 1.1 控制面板中找到"程序& ...

  5. 快速搭建一个本地的FTP服务器 win10及win7

    快速搭建一个本地的FTP服务器   如果需要开发FTP文件上传下载功能,那么需要在本机上搭建一个本地FTP服务器,方便调试. (win10) 第一步:配置IIS Web服务器 1.1 控制面板中找到“ ...

  6. git操作+一个本地项目推到github上+注意

    git init 创建新文件夹,打开,然后执行以创建新的 git 仓库. git config --global user.name "xxx" git config --glob ...

  7. mark一篇文章--用nodejs搭建一个本地反向代理环境

    调试线上代码的时候,我们经常遇到的一个问题就是 本地一套环境,线上一套环境,本地没有的文件用线上的这种需求.我简单来说下使用nodejs如何做到. 先说下不用nodejs我们怎么做,工具比如fiddl ...

  8. 基于nodejs环境,用npm简单搭建一个本地服务器Live-server的使用

    用npm 或者cnpm进行全局安装 cnpm install -g live-server 运行后就可以直接给你虚拟一个本地服务器,而且还可以热同步 运行 live-server

  9. centos7系统下搭建docker本地镜像仓库

    ## 准备工作 用到的工具, Xshell5, Xftp5, docker.io/registry:latest镜像 关于docker的安装和设置加速, 请参考这篇博文centos7系统下 docke ...

随机推荐

  1. ELK学习之Logstash篇

    Logstash在ELK这一整套解决方案中作为数据采集终端,支持对接Kafka.数据库(MySQL.Oracle).文件等等. 而在Logstash内部的数据流转,主要经过三个环节:input -&g ...

  2. 《openssl编程》:第一章基础知识

    第一章 基础知识 1.1 对称算法 对称算法使用一个密钥.给定一个明文和一个密钥,加密产生密文,其长度和明文大致相同.解密时,使用读密钥与加密密钥相同. 对称算法主要有四种加密模式: (1) 电子密码 ...

  3. 铺路、建路、指路:联想ISG给出一份全新的智能化“路书”

    新基建,新服务,新智能:联想给出的"高质量"方案 昨天,第七届联想创新科技大会(Lenovo Tech World 2021)正式召开.每年通过这个大会,各行各业不仅可以了解联想最 ...

  4. Django学习day08随堂笔记

    今日考题 """ 今日考题 1.聚合查询,分组查询的关键字各是什么,各有什么特点或者注意事项 2.F与Q查询的功能,他们的导入语句是什么,针对Q有没有其他用法 3.列举常 ...

  5. Jmeter系列(30)- 性能指标(3) | 性能指标峰值

    性能指标峰值 简述 彻底理解了性能指标(1)(2)的内容,这一篇随笔其实就不用看了,而且大家也能猜到这一篇内容是啥:二八原则 性能指标不要硬性的往那些性能指标上去靠,要根据业务来,熟悉业务,明白了解你 ...

  6. Linux系列(36) - yum命令安装(3)

    yum常用命令 查询 yum list:查询所有可用软件包列表 yum search 关键字:搜索服务器上所有和关键字相关的包 安装 yum -y install 包名 选项: -install 安装 ...

  7. 华为云计算IE面试笔记-FusionCompute虚拟机热迁移定义,应用场景,迁移要求,迁移过程

    *热迁移传送了什么数据?保存在哪? 虚拟机的内存.虚拟机描述信息(配置和设备信息).虚拟机的状态 虚拟机的配置和设备信息:操作系统(类别.版本号).引导方式(VM通过硬盘.光盘.U盘.网络启动)和引导 ...

  8. Python测试框架对比----unittest, pytest, nose, robot framework对比

    什么是框架? 框架(Framework)是整个或部分系统的可重用设计, 框架是用来解决代码的组织及运行控制问题的. 在我们编写自动化脚本的时候,经常需要读取配置文件,读取数据文件,发送请求,记录日志, ...

  9. httprunner开发实践&源码解析

    上次作业讲解 排错 控制台查看报错信息 打开代理工具,调试脚本 注释掉其他接口,先跑一个接口 pip uninstall httprunner 修复断言100为int型问题 修复两次登陆问题 报告 p ...

  10. javascript 对象池

    * 一个对象池的简单应用 tool tip tootip.html <html> <head> <meta charset="UTF-8"> & ...