首页 > 其他分享 >git 搭建服务器笔记

git 搭建服务器笔记

时间:2023-04-20 11:35:36浏览次数:44  
标签:gitserver shell 仓库 cd git ssh 服务器 搭建


评:


-----------1 服务器安装git----------
1.在有 yum 的系统上(比如 Fedora)
yum install curl-devel expat-devel gettext-devel \
openssl-devel zlib-devel
2.下面的 Git 官方站点下载最新版本源代码:
http://git-scm.com/download 3.编译并安装:
$ tar -zxf git-1.7.2.2.tar.gz
$ cd git-1.7.2.2
$ make prefix=/usr/local all
$ sudo make prefix=/usr/local install

-----------2 ssh公钥授权 ----------
1.客户端 生成 SSH 公钥
$ ssh-keygen
2.服务器 建立 git用户 保存客户端公钥
$ sudo adduser git
$ su git
$ cd
$ mkdir .ssh
$ cat /tmp/id_rsa.john.pub >> ~/.ssh/authorized_keys
-----------3 禁止git用户 ssh登录 shell------------
作为一个额外的防范措施,你可以用 Git 自带的 git-shell 工具限制 git 用户的活动范围。只要把它设为 git 用户登入的 shell,那么该用户就无法使用普通的 bash 或者 csh 什么的 shell 程序。编辑 /etc/passwd 文件:

$ sudo vim /etc/passwd

在文件末尾,你应该能找到类似这样的行:

git:x:1000:1000::/home/git:/bin/sh

把 bin/sh 改为 /usr/bin/git-shell (或者用 which git-shell 查看它的实际安装路径)。该行修改后的样子如下:

git:x:1000:1000::/home/git:/usr/bin/git-shell

现在 git 用户只能用 SSH 连接来推送和获取 Git 仓库,而不能直接使用主机 shell。尝试普通 SSH 登录的话,会看到下面这样的拒绝信息:

$ ssh git@gitserver
fatal: What do you think I am? A shell?
Connection to gitserver closed.


-----------4 初始化git远程仓库----------
1.
用 --bare 选项运行 git init 来建立一个裸仓库,这会初始化一个不包含工作目录的仓库。

$ cd /opt/git
$ mkdir project.git
$ cd project.git
$ git --bare init
2.
这时,Join,Josie 或者 Jessica 就可以把它加为远程仓库,推送一个分支,从而把第一个版本的项目文件上传到仓库里了。值得注意的是,每次添加一个新项目都需要通过 shell 登入主机并创建一个裸仓库目录。我们不妨以 gitserver 作为 git 用户及项目仓库所在的主机名。如果在网络内部运行该主机,并在 DNS 中设定 gitserver 指向该主机,那么以下这些命令都是可用的:

# 在 John 的电脑上
$ cd myproject
$ git init
$ git add .
$ git commit -m 'initial commit'
$ git remote add origin git@gitserver:/opt/git/project.git
$ git push origin master

3.
这样,其他人的克隆和推送也一样变得很简单:

$ git clone git@gitserver:/opt/git/project.git
$ cd project
$ vim README
$ git commit -am 'fix for the README file'
$ git push origin master

标签:gitserver,shell,仓库,cd,git,ssh,服务器,搭建
From: https://blog.51cto.com/u_16080829/6209270

相关文章

  • git常用命令
    以下是一些常用的git命令:1.gitinit:将当前目录初始化为Git仓库。2.gitclone:克隆一个远程Git仓库到本地。3.gitadd:将文件添加到暂存区。4.gitcommit:将暂存区的文件提交到本地仓库。5.gitpush:将本地仓库的文件推送到远程仓库。6.gitpull:从远程仓库拉取文件到本地。......
  • git连接仓库
    要连接到远程Git存储库,请按照以下步骤操作:1.在本地计算机上打开终端或命令提示符。2.转到您要将存储库克隆到的目录。3.使用以下命令克隆存储库:gitclone<remoterepositoryURL>例如:gitclonehttps://github.com/username/repository.git4.配置Git以使用您的用户名和......
  • 1、Git初始化、环境配置、文件创建提交到版本库、比较文件变动
    Git初始化、环境配置、文件创建提交到版本库、比较文件变动1.git基本信息查看git版本[root@ubuntu2004~]#git--versiongitversion2.25.1创建项目根[root@ubuntu2004~]#mkdirdeploy-demoapp[root@ubuntu2004~]#cddeploy-demoapp/初始化Git仓库,生成.git目录结构[ro......
  • 搭建 gitlab 私有仓库
    搭建gitlab私有仓库1.拉取镜像dockerpullgitlab/gitlab-ce2.启动容器dockerrun-itd\-p9980:80\-p9922:22\-v/home/gitlab/etc:/etc/gitlab\-v/home/gitlab/log:/var/log/gitlab\-v/home/gitlab/opt:/var/opt/gitlab\--restartalways\--pr......
  • 【git】git批量删除本地分支
    删除分支命令gitbranch-DbranchName删除当前分支外的所有分支gitbranch|xargsgitbranch-d删除分支名包含指定字符的分支gitbranch|grep'upstream*'|xargsgitbranch-d该例将会删除分支名包含’dev’字符的分支。命令解释|管道命令,用于将一串命令串......
  • Win10总是自动打开网络代理服务器
    转自:https://office.tqzw.net.cn/computer/windows/28554.htmlwindows10总是隔几分钟就自动开启代理,然后就无法打开网页。还有时候代理服务器开关没有自动打开,但是就是莫名其妙就无法上网上,打开只要代理服务器设置的页面,然后就又可以上网了。这问题困扰了很久了,网上找了很多办法,......
  • elasticsearch 8集群搭建并完成CDN日志收集和解析
     谷歌一下,搜索结果有各种样的博客文章,看了很多篇,反而被绕晕,经过自己的实践搭建完成获取到的经验最适合自己,在这里把整个过程记录下来,也希望可以帮助到一些需要的人。搭建前,请阅读官方文档,虽然是英文,如果能看懂你能学到更精髓的部分。英文好坏也是技术和技术之间的分水岭。好的技......
  • git如何找出两个分支的共同commit点
    gitmerge-base[-a|--all]<commit><commit>…​gitmerge-base[-a|--all]--octopus<commit>…​gitmerge-base--is-ancestor<commit><commit>gitmerge-base--independent<commit>…​gitmerge-base--fork-point<ref......
  • 56 openEuler搭建Mariadb数据库服务器-安装、运行和卸载
    56openEuler搭建Mariadb数据库服务器-安装、运行和卸载56.1安装配置本地yum源,详细信息请参考《openEuler22.03-LTS搭建repo服务器》。清除缓存。#dnfcleanall例如示例命令如下:[root@superman-21~]#dnfcleanall45filesremoved[root@superman-21~]#......
  • 程序员必备上传服务器Xftp及连接服务器工具Xshell
    1.下面截图为破解工具,点击执行就可以用了 ......