Git 服务器搭建

Git 服务器搭建

环境:
vim /etc/hosts
192.168.44.128 server 
192.168.44.131  user
1.安装:所有机器都安装
    # 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文件里,一行一个。
yum -y install openssh-clients
ssh-keygen -t rsassh-copy-id -i git@server
如果没有该文件创建它:
$ cd /home/git/
$ mkdir .ssh
$ chmod 755 .ssh
$ touch .ssh/authorized_keys
$ chmod 644 .ssh/authorized_keys
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/runoob.git,在/home/gitrepo目录下输入命令:
$ cd /home
$ mkdir gitrepo
$ chown git:git gitrepo/
$ cd gitrepo

$ git init --bare runoob.git
Initialized empty Git repository in /home/gitrepo/runoob.git/
以上命令Git创建一个空仓库,服务器上的Git仓库通常都以.git结尾。然后,把仓库所属用户改为git:
$ chown -R git:git runoob.git
5.克隆仓库
$ git clone git@server:/home/gitrepo/runoob.git
Cloning into 'runoob'...
warning: You appear to have cloned an empty repository.
Checking connectivity... done.
192.168.44.128 为 Git 所在服务器 ip 。
6.1 方案1、就是不用关联Git仓库, 直接从Git中克隆源码到本地, 项目根目录也不用创建
在user 客户机克隆远程仓库:
现在,可以通过git clone命令克隆远程仓库了,在各自的电脑上运行:
# git clone git@server:/home/gitrepo/runoob.git
Cloning into 'sample'...
warning: You appear to have cloned an empty repository.
#cd runoob.git
#vim a.txt
#git add a.txt
#git commit -m "a"
#git push -u origin master
这样我们的 Git 服务器安装就完成。
6.2 方案2、本地创建项目根目录, 然后与远程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
8. 分支 在客户机写 user(192.168.44.131)

远程仓库未创建

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 clone xxxxxxxxxxxx

关联远程

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
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,445评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,889评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,047评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,760评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,745评论 5 367
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,638评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,011评论 3 398
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,669评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,923评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,655评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,740评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,406评论 4 320
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,995评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,961评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,197评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,023评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,483评论 2 342

推荐阅读更多精彩内容

  • 本文参考了菜鸟教程中的git服务器搭建和git远程仓库创建,文章流程简练可读性强,但仍有部分细节不清晰,导致操作失...
    24c41111e47b阅读 1,014评论 1 1
  • Git的基本工作流程 在工作目录中修改某些文件。 对修改后的文件进行快照,然后保存到暂存区域。 提交更新,将保存在...
    夜_雪阅读 1,311评论 2 5
  • 注:本文转自51CTO 如果省略本地分子名,则表示要删除远程主机中分支,如git push origin : ma...
    Michael_林阅读 1,101评论 0 0
  • 下面来熟悉一下常用的对视频操作的几个命令。这次需要完成的命令也包括在其中。 视频的画面大小的剪切(crop fil...
    deep_sadness阅读 2,601评论 0 3
  • 记得小时候 每次开运动会的 那天, 我们穿着白衬衫 蓝裤子, 列着整齐的方队, 风从裤腿里溜进, 我们却全然不知。...
    三万夜阅读 300评论 0 2