git服务搭建-远程仓库

2018-07-18  本文已影响0人  断水流大师兄vs魔鬼筋肉人

1.安装:所有机器都安装
user 分库
server 主库
两台做
================================================================

两台做
    # yum install curl-devel expat-devel gettext-devel  openssl-devel zlib-devel   (可能需要的依赖包)
    # yum install git -y
    # git --version
    # git version 1.8.3.1

2.准备:——必填
因为Git是分布式版本控制系统,所以,每个机器都必须自报家门:你的名字和Email地址。你也许会担心,如果有人故意冒充别人怎么办?这个不必担心,首先我们相信大家都是善良无知的群众,其次,真的有冒充的也是有办法可查的。
注意git config命令的--global参数,用了这个参数,表示你这台机器上所有的Git仓库都会使用这个配置,当然也可以对某个仓库指定不同的用户名和Email地址。

 # git config --global user.email "1039095857@.com"
 # git config --global user.name "guoqingyangzz"

==========================================================
3.接下来我们 创建一个git用户组和用户,用来运行git服务:主库做

主库:
$ groupadd git
$ useradd git -g git

2、创建证书登录——分库
收集所有需要登录的用户的公钥,公钥位于id_rsa.pub文件中,把我们的公钥导入到/home/git/.ssh/authorized_keys文件里,一行一个。

user:
yum -y install openssh-clients
ssh-keygen
ssh-copy-id -i git@IP(server)            传给主库

===========================================================
3.禁用shell登录:
出于安全考虑,第二步创建的git用户不允许登录shell,这可以通过编辑/etc/passwd文件完成。找到类似下面的一行:
git:x:1001:1001:,,,:/home/git:/bin/bash
改为:
git:x:1001:1001:,,,:/home/git:/usr/bin/git-shell
这样,git用户可以正常通过ssh使用git,但无法登录shell,因为我们为git用户指定的git-shell每次一登录就自动退出
===========================================================
4.初始化Git仓库(两个都要初始化)——主库
首先我们选定一个目录作为Git仓库,假定是/home/gitrepo/test.git,在/home/gitrepo目录下输入命令:

$ cd /home
$ mkdir gitrepo
$ chown git:git gitrepo/
$ cd gitrepo
$ git init --bare test.git           名字随意         初始化
$ chown -R git:git test.git
得到主库—无法创建和显示提交的文件

方案一:克隆

克隆仓库——分库 user

创建库
进入+初始化======>>>>>>>>>>克隆
user克隆:
$ git clone git@server(IP):/home/gitrepo/test.git
得到空库
#cd runoob.git                               进入
#vim a.txt                                       创建
#git add a.txt                                  提交
#git commit -m "a"
#git push -u origin master              推送到库
获得库内容:git pull origin master 和     git pull --rebase origin master

方案二:远程连接

本地创建项目根目录, 然后与远程Git关联, 之后的操作一样:

# mkdir xxx
   #  cd xxx
   #  git init 
   # git remote add origin git@server:/home/gitrepo/runoob.git/
   #  vim cc.txt
   #  git add cc.txt
   #  git commit -m "cc"
#git pull --rebase origin master                           获得库内容
 #  git push -u origin master                                 推送

远程仓库未创建

git init 初始化一只本地仓库

把你的项目扔进去(或者基于初始化仓库建立项目vue init webpack demoxxxx)

git status //查看状态

git add -A //提交所有文件改动

git remote add origin ssh地址 // 链接远程仓库步骤1

git push -u origin master //链接远程仓库步骤2

git add -A //提交所有文件改动

git status //查看状态

git commit -m "xx" //备注功能

git status //查看状态

git pull origin master //拉最新代码 (下载)

git push origin master //推送到远程 (上传)

远程仓库已创建


关联远程

git remote add origin ssh地址 // 链接远程仓库步骤1

git pull origin master //拉最新代码 (下载)

git add -A //提交所有文件改动

git commit -m "xx" //备注功能

git push origin master //推送到远程 (上传)

配置检查

[root@server etc]# git config --list
user.email=811259960@.com
user.name=guoqingyangzz

查看配置信息
要检查已有的配置信息,可以使用 git config --list 命令:
$ git config --list
http.postbuffer=2M
user.name=runoob
user.email=test@runoob.com
有时候会看到重复的变量名,那就说明它们来自不同的配置文件(比如 /etc/gitconfig 和 ~/.gitconfig),不过最终 Git 实际采用的是最后一个。
这些配置我们也可以在 ~/.gitconfig 或 /etc/gitconfig 看到,如下所示:
vim ~/.gitconfig 
显示内容如下所示:
[http]
    postBuffer = 2M
[user]
    name = runoob
    email = test@runoob.com
也可以直接查阅某个环境变量的设定,只要把特定的名字跟在后面即可,像这样:
$ git config user.name
runoob
上一篇 下一篇

猜你喜欢

热点阅读