`
MauerSu
  • 浏览: 514486 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

git 搭建服务器笔记

    博客分类:
  • git
 
阅读更多
源:http://git-scm.com/book/zh/%E8%B5%B7%E6%AD%A5-%E5%AE%89%E8%A3%85-Git
评:
-----------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


分享到:
评论

相关推荐

    GIT服务器搭建笔记

    搭建openshift需要使用到git服务器。git服务器搭建、使用。

    centos-git服务器搭建.doc

    centos_git服务器搭建 使用Git来部署一个Web站点笔记

    Git常用命令指导教程笔记.pdf

    团队内部协作时,可以搭建GitLab服务器作为代码托管中心;而在外网环境下,GitHub或Gitee这样的现成平台则更方便。本地库主要负责个人的工作区、暂存区和本地版本控制,而远程库则用于团队成员之间的共享和协作。 ...

    java之Git总结笔记

    【Git 的环境搭建】 Git 可在多种操作系统上安装,包括 Windows、macOS 和各种 Linux 发行版。通常,可以通过访问 Git 官方网站下载相应版本的安装程序,或者在 Linux 上使用包管理器进行安装。对于国内用户,如果...

    git零基础实战

    - 本地Git服务器搭建方法。 - **课程目标** - 熟练掌握30个常用的Git命令。 - 理解Git的内部原理。 - 熟悉企业版本控制流程。 - 能够使用Git跟踪开源项目、与他人协作、管理自己的开发工作。

    Git学习笔记/常用命令总结

    Git常用命令的总结,适用于Git初学者和需要用到Git工具的开发人员。 内容包括: 1.Git安装配置 2.Git工作流程 3.Git工作区、暂存区和版本库等概念 4.Git创建仓库 5.Git基本操作 ...10.Git服务器搭建

    Git 学习记录

    在Linux环境下搭建Git服务器,可以按照以下步骤进行: 1. **安装Git**:在服务器端和客户端分别安装Git。 2. **服务器端配置**:创建git用户,设置密码,创建Git仓库。 3. **客户端配置**:下载Git for Windows...

    使用docsify搭建的个人学习主站,主要记载学习笔记,包括但不限于Java多线程、设计模式、MySQL及Git等各.zip

    在本项目中,作者使用了docsify框架来创建一个个人学习主站,旨在记录和分享其在多个IT领域的学习笔记,主要包括Java多线程、设计模式、MySQL数据库以及Git版本控制等方面的知识。以下是对这些主题的详细阐述: 1. ...

    基于SSM框架+mysql搭建的云笔记系统(仿有道云笔记)源码.zip

    本项目是一个基于SSM框架和MySQL数据库搭建的云笔记系统,模仿了知名的有道云笔记,旨在提供类似的功能和服务。 1. **Spring框架**:Spring是核心容器,负责管理应用中的对象,包括依赖注入(DI)和面向切面编程...

    Html、CSS、GIt、Linux、nodejs、JavaScript、Vue、MySQL等学习笔记.zip

    通过深入学习这些笔记,你可以全面了解并掌握Web开发的各个环节,从创建静态页面到搭建动态服务器,再到后端数据处理,形成一套完整的技能体系。这将对你的编程生涯大有裨益,无论是个人项目还是团队开发,都能...

    Github笔记

    #### 三、搭建GitHub本地服务器 ##### 第一步:安装Git - **安装Git**:与“GitHub基础篇”的第一步相同。 ##### 第二步:创建一个Git用户 - **创建用户**:创建一个Git用户,例如使用`adduser git`命令创建用户...

    flutter 环境搭建-flutter环境搭建,很不错的学习笔记

    Dart 语言的应用范围广泛,除了移动应用开发之外,还适用于 Web 开发、服务器端开发以及物联网等领域。Dart 语言的设计目标之一是逐渐替代 JavaScript 成为主流的前端开发语言。 #### 发展历程 Flutter 自 2015 年...

    Java学习笔记开发环境搭建JDK+Tomcat+Eclipse共8页.pdf.zip

    这篇学习笔记主要涵盖了Java开发环境的搭建过程,其中包括三个核心组件:Java Development Kit (JDK)、Apache Tomcat服务器和Eclipse集成开发环境(IDE)。下面将详细阐述这三个部分的知识点。 一、Java ...

    SpringBoot + Vue 做的一个笔记网站

    在文件名称列表“note-master”中,“master”通常指的是Git仓库的主分支,这暗示了项目可能是从一个开源Git仓库克隆下来的。这个项目可能包含以下文件结构: - `src/main/java`:SpringBoot的源代码,包括主应用...

    ( WinXP Ubuntu10.10双系统下搭建开发环境笔记

    在本文中,我们将详细介绍如何在Windows XP和Ubuntu 10.10双系统环境下搭建一个完整的开发环境。这个过程包括安装Ubuntu系统、配置SSH通信、安装JDK、设置环境变量、解压缩项目工程以及安装必要的编译工具和编辑器。...

    老鸟rhel5/centos5服务器架设笔记:Trac的安装和配置

    本文将深入探讨如何在RHEL5或CentOS5上搭建Trac环境,这是一种优秀的开源项目管理和问题跟踪系统。Trac与ClearSilver结合使用,可以提供一个高效的Web界面,用于文档管理、问题跟踪和版本控制。 首先,让我们了解...

    达内项目(云笔记)

    在这个云笔记项目中,Java可能被用作后端服务器的主要开发语言,处理用户请求,管理数据存储,以及实现各种业务逻辑。 1. **Spring框架**:在Java后端开发中,Spring框架是常见的选择,它提供了依赖注入(DI)和...

    第四部分笔记.docx

    ### 第四部分笔记知识点概述 #### 一、LNMP+Redis集群与ECShop电商项目介绍 ##### 1. LNMP架构及其优势 - **LNMP**:指**Linux**操作系统、**Nginx**作为Web服务器、**MySQL**作为数据库管理和**PHP**脚本语言的一...

    乐优商城《项目笔记》

    1. **项目初始化与环境配置**:项目开始时,通常会涉及到项目的结构设计、版本控制工具(如Git)的使用,以及开发环境的搭建。这部分可能会涵盖前后端开发所需的IDE配置、Node.js环境、Java环境、数据库环境(如...

Global site tag (gtag.js) - Google Analytics