Git: 搭建一个本地私人仓库
Git: 搭建一个本地私人仓库
寝室放个电脑、实验室也有个电脑
为进行数据同步,充分利用实验室的服务器搭建了个本地私人仓库
1. 安装流程
当然首先保证服务器上与PC机上都已经安装了可用的Git
在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)
进入服务器中,先输入命令
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]-----+
进入
.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 "邮箱地址"来生成打开文件:
/etc/ssh/sshd_config,修改如下:RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
在服务器上创建一个空文件夹,作为和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
开始同步:把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) # 推送成功
把服务器上的内容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
配置小乌龟,在PC机上的仓库,右击选择
TortoiseGit -> 设置(s),如下
后续有
添加文件/ 提交/ 推送直接右击选择相应功能即可,相当方便,这里按照添加新文件为例进行示范:当我在PC机的相应仓库中添加了一个文件:
4.txt直接在仓库中右击选择
TortoiseGit -> 添加(s)
然后在弹出的界面中,选择
提交(C),然后再在弹出的界面中添加上日志信息
最后进行推送到远端


推送成功:

参考
https://blog.csdn.net/qq_34284638/article/details/70154557
https://www.cnblogs.com/lixiaochao/p/6293316.html
Git: 搭建一个本地私人仓库的更多相关文章
- git怎么创建本地版本仓库
git怎么创建本地版本仓库 安装git我就不用说了吧!下载地址:https://github.com/msysgit/msysgit/releases/download/Git-1.9.4-previ ...
- 微服务架构 - 搭建docker本地镜像仓库并提供权限校验及UI界面
搭建docker本地镜像仓库并提供权限校验及UI界面 docker本地镜像仓库的作用跟maven私服差不多,特别是公司级或者是小组级开发好的docker仓库可以上传到本地镜像仓库中,需要用时,直接从本 ...
- 使用nexus搭建一个maven私有仓库
使用nexus搭建一个maven私有仓库 大家好,我是程序员田同学.今天带大家搭建一个maven私有仓库. 很多公司都是搭建自己的Maven私有仓库,今天就带大家使用nexus搭建一个自己的私有仓库, ...
- 快速搭建一个本地的FTP服务器
快速搭建一个本地的FTP服务器 如果需要开发FTP文件上传下载功能,那么需要在本机上搭建一个本地FTP服务器,方便调试. 第一步:配置IIS Web服务器 1.1 控制面板中找到"程序& ...
- 快速搭建一个本地的FTP服务器 win10及win7
快速搭建一个本地的FTP服务器 如果需要开发FTP文件上传下载功能,那么需要在本机上搭建一个本地FTP服务器,方便调试. (win10) 第一步:配置IIS Web服务器 1.1 控制面板中找到“ ...
- git操作+一个本地项目推到github上+注意
git init 创建新文件夹,打开,然后执行以创建新的 git 仓库. git config --global user.name "xxx" git config --glob ...
- mark一篇文章--用nodejs搭建一个本地反向代理环境
调试线上代码的时候,我们经常遇到的一个问题就是 本地一套环境,线上一套环境,本地没有的文件用线上的这种需求.我简单来说下使用nodejs如何做到. 先说下不用nodejs我们怎么做,工具比如fiddl ...
- 基于nodejs环境,用npm简单搭建一个本地服务器Live-server的使用
用npm 或者cnpm进行全局安装 cnpm install -g live-server 运行后就可以直接给你虚拟一个本地服务器,而且还可以热同步 运行 live-server
- centos7系统下搭建docker本地镜像仓库
## 准备工作 用到的工具, Xshell5, Xftp5, docker.io/registry:latest镜像 关于docker的安装和设置加速, 请参考这篇博文centos7系统下 docke ...
随机推荐
- ubuntu-常用设置备忘
环境 系统平台:Ubuntu 16.04.6 其他版本设置也差不多 vim喜好设置 系统安装vim sudo apt-get install vim 通过修改 /etc/vim/vimrc 文件设置 ...
- Linux常用命令 - tail命令详解
21篇测试必备的Linux常用命令,每天敲一篇,每次敲三遍,每月一循环,全都可记住!! https://www.cnblogs.com/poloyy/category/1672457.html 实时刷 ...
- 初学AOP小结
Spring AOP理解 参考链接 AOP简介 AOP(面向切面编程),可以说时OOP的补充,使用OOP时,我们在日常编写代码的时候,一旦牵涉到大型一点的项目,项目不可或缺的事务处理,安全处理,验证处 ...
- EXCEL中给包含某个字段的单元格所在行标注颜色
条件格式->新建规则->使用公式确定要设置格式的单元格 公式: =COUNTIF($A1,"*字符串*") 注意:通配符的使用.
- selenium-ide-2.3.0 组件在foxfire45.0无法安装的问题
楼主在安装selenium-ide组件时,尝试了下面两种方式都无法安装: 1.在forfire浏览器进行拖拽安装,页面无任何跳转.拖拽后回车安装,也没任何效果 2.附件组件-从文件安装添加组件,添加了 ...
- 可选链运算符、空值合并运算符 --应用到vue项目
1.npm安装 npm install @babel/plugin-proposal-optional-chaining // 可选链运算符 ?. npm install @babel/plugin- ...
- c++ 游戏代码(1)
迷宫代码如下: #include <iostream> #include <windows.h> #include <conio.h> using namespac ...
- 学习PHP中的信息格式化操作
在国际化组件的学习过程中,我们已经接触过了 NumberFormatter 这种数字的格式化操作,它可以让我们将数字转换成标准格式.货币.本地语言等形式.今天我们来学习的是另一种专门用于信息格式化的类 ...
- 【tp3.2】根据不同域名来加载不同的配置文件
遇到问题: 最近遇到一个需求,需要多个公众号使用同一个项目,这就导致了不同公众号访问的数据库和公众号配置不同. 解决思路: 查看文档:http://document.thinkphp.cn/manua ...
- 【PHP】随机生成名字
public function test(){ $a = "赵 钱 孙 李 周 吴 郑 王 冯 陈 楮 卫 蒋 沈 韩 杨 朱 秦 尤 许 何 吕 施 张 孔 曹 严 华 金 魏 陶 姜 戚 ...