欢迎光临我的博客
分享技术人生感悟

Git局域网共享代码保姆级教程

记录一下利用Git在局域网共享代码,也分享给有需要的人
背景:
在单位里一直用git lab社区版,好用,但报了几次漏洞,尽管在局域网内,上级一有通知就必须处理,总是要修复,很是麻烦
局域网内是严禁用window网络共享的,目前想到的方案使用ssh+Git(欢迎大佬提供其它方案)。

网上也有教程,但都不太完整,结合自己的实操,编写本教程,可以让自己记着过程。

架构:

Centos7服务器一台(离线无法连接互联网)、客户端任意

过程:
1、Centos7服务器开通ssh,这个是标配,不说了

2、下载Git
A:本地电脑windows 10 64位,安装 Git,大部分操作在Git bash完成,个人喜欢当shell用
https://github.com/git-for-windows/git/releases/download/v2.38.0.windows.1/Git-2.38.0-64-bit.exe
B:CentOS服务用的Git
https://mirrors.edge.kernel.org/pub/software/scm/git/git-2.38.0.tar.xz

3、本地与服务器分别安装Giti

A:本地


后面不管了,全是:next

本地成功安装

B:服务器
B1:上传 git-2.38.0.tar.xz

B2:编译安装
1、ssh登录服务器
2、tar Jxf git-2.38.0.tar.xz && cd git-2.38.0
3、./configure prefix=/usr
4、make all && make install (输出n多东西,没什么值得看的)
5、看到显示Git 版本,表过安装完成

4、本地设置用户及服务器设置Git用户
A:远程设置用户并生成密钥
1、[root@xxx git-2.38.0]# useradd git
2、[root@xxx git-2.38.0]# passwd git
//更改 git 的密码 。
3、[root@xxx ~]# ssh-keygen -C "bryan sun@gmail.com"
//在 .ssh目录 生成密钥 id_rsa 与 id_rsa.pub

4、[root@xxx ~]# mv id_rsa.pub /home/git/.ssh/authorized_keys
//自制公钥到git下,实现无密码登录

5、[root@xxx ~]# vim /etc/ssh/sshd_config
//找到 PubkeyAuthentication yes
6、[root@xxx ~]# systemctl restart sshd
//重启sshd服务
B:本地,在Git bash 里设置
1、git config --global user.name "bryan sun"
2、git config --global user.email "bryan sun@gmail.com"
3、scp root@服务器IP:~/.ssh/id.rsa ./.ssh/
//复制私钥到本地
4、ssh git@服务器IP
//如果不用输入密码,表达成功了,如果不成功,百度一下 linux的无密码登录吧,其实也不难

5、完成上面的,实现就完成了配置,现在可以利用git,假设本地有个叫test的项目

1、创建远空仓库
//后面的都在本地在Git bash 里执行
$ ssh  git@服务器IP "cd ~ && git init --bare test"

提示:使用 'master' 作为初始分支的名称。这个默认分支名称可能会更改。要在新仓库中
提示:配置使用初始分支名,并消除这条警告,请执行:
提示:
提示:  git config --global init.defaultBranch <名称>
提示:
提示:除了 'master' 之外,通常选定的名字有 'main'、'trunk' 和 'development'。
提示:可以通过以下命令重命名刚创建的分支:
提示:
提示:  git branch -m <name>
已初始化空的 Git 仓库于 /home/git/test/

$ git init test
Initialized empty Git repository in C:/Users/Administrator/test/.git/
//测试
$ cd ./test1 && echo "hello world" >index.html
$ git add .
$ git commit -m"commit one"
[master (root-commit) xxxxxx] commit one
1 file changed, 1 insertion(+)
create mode 100644 index.html

$ git remote add origin ssh://git@服务器IP/home/git/test1
//增加本地远程分支

//关联远程分支与本地master分支
$ git push --set-upstream origin master
Enumerating objects: 3, done.
Counting objects: 100% (3/3), done.
Writing objects: 100% (3/3), 217 bytes | 217.00 KiB/s, done.
Total 3 (delta 0), reused 0 (delta 0), pack-reused 0
To ssh://服务器IP/home/git/test
* [new branch]      master -> master
branch 'master' set up to track 'origin/master'.

测试成功!

在任何一台安装Git有客户端机子里,都可以运行:
$git clone ssh://git@服务器IP/home/git/test
实现代码共享

赞(0) 打赏
未经允许不得转载:清晨博客 » Git局域网共享代码保姆级教程
分享到: 更多 (0)

相关推荐

  • 暂无文章

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

觉得文章有用就打赏一下文章作者

非常感谢你的打赏,我们将继续给力更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫打赏