gitlab的安装与管理_gitlab 安装完后登录页面

40 阅读7分钟

    git log  查看提交日志

# 创建一个文件

]# echo 1213456 > git.test

# 将文件追加到索引区

]# git add git.test

# 将文件提交到本地仓库

]# git commit -m git.test

# 查看当前文件操作记录,id为文件提交id

]# git log
commit 43e7aa5963db3b04691a6e4ec271b7199ab14d8b (HEAD -> master)
Author: dayi123 <dayi_123@126.com>
Date:   Fri Aug 10 09:06:25 2018 -0400
    git.test

5、分支管理

    Git的默认所有的操作都在主分支上面,为了防止开发混乱,可以创建分支,在分支上操作,在分支上操纵执行的命令都是基于当前分支的。

    git branch  创建分支

    git branch –v  查看分支信息

    git branch –merged  查看哪些分支已经被merged到主分支

    git branch --no-merged 查看哪些分支没有被merged到主分支

    git branch -d testing  删除分支

    git checkout  分支名称  切换指针

    git checkout --filename   撤销对文件的修改

    git merge 分支名称  融合分支,将分支融合到主干

    git stash

    git tag   查看标签

    git rebase 变基,

# 创建一个分支datatest1
]# git branch datatest1
# 查看当前的分支状态
]# git status
On branch master
nothing to commit, working tree clean
# 切换到datatest1分支
]# git checkout datatest1
Switched to branch 'datatest1'
# 查看当前分支时已经在datatest1分支
]# git status
On branch datatest1
nothing to commit, working tree clean
#在当前分支创建一个文件并提交到暂存区
]# echo datatest1 > branch2.html
]# git add branch2.html
# 将当前分支merged到主分支
]# git merge datatest1
Already up to date.
# 切换到主分支查看
]# git checkout master
]# git status
On branch master
Changes to be committed:
  (use "git reset HEAD <file>..." to unstage)

  new file:   branch2.html
# 查看单前那些分区被merged到主分区
]# git branch –merged
  datatest1
* master
#给当前库打标签
[root@localhost data]# git tag -a v1.0 -m ‘abc’
[root@localhost data]# git tag
v1.0

6、git回滚

         回滚命令:git reset [option] [commitid]

    选项

       --soft 缓存区和工作目录都不会被改变

       --mixed 默认选项。缓存区和制定的提交同步,但工作目录不受影响

       --hard 缓存区和工作目录都同步到指定的提交

# 修改提交的文件并在此提交
]# echo `date` >> git.test 
]# git commit -m "2"
# 获取commitid
]# git log
commit 24867009ea7f916dc62b3fde3d4d15582fa6258b (HEAD -> master)
Author: dayi123 <dayi_123@126.com>
Date:   Fri Aug 10 09:39:55 2018 -0400
    2
commit 43e7aa5963db3b04691a6e4ec271b7199ab14d8b (–merged, datatest1)
Author: dayi123 <dayi_123@126.com>
Date:   Fri Aug 10 09:06:25 2018 -0400
    git.test
# 恢复到提交前
]# git reset --hard 43e7aa596
HEAD is now at 43e7aa5 git.test
#查看提交后的状态
]# git log
commit 43e7aa5963db3b04691a6e4ec271b7199ab14d8b (HEAD -> master, –merged, datatest1)
Author: dayi123 <dayi_123@126.com>
Date:   Fri Aug 10 09:06:25 2018 -0400
    git.test

7、使用git对远程仓库管理

         使用git最终要将本地文件提交到远程git仓库中或者将远程仓库中的文件下载本地进行操作,常用的操作命令有:

    git clone 仓库地址  将远程主机文件拉到本地

    git pull   认证后更新代码,合并到之前代码中去

    git fetch  认证后更新代码,不会合并到之前的代码中

    git push origin master

    git remote       获取远程库的信息

    git remote –v   获取远程库的详细名称信息

    git remote add xxx http://xxx   添加地址。默认第一个名程都为origin

    git remote show origin

    git remote rename pb paul  #变更远程地址名称

二、搭建与管理git远程仓库gitlab

    Gitlab是一个基于Ruby on rails开发的源代码托管结局按方案,gitlab分为企业版和社区版两个版本。

    Gitlab集成了nginx postgreSQL redis sidekiq等组件,在安装gitlab时会自动安装配置。

1、gitlab的安装与配置

(1)安装gitlab

# 配置gitlabyum源为国内源以方便安装
]# vim /etc/yum.repos.d/gitlab-ce.repo
[gitlab-ce]
name=Gitlab CE Repository
baseurl=https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el$releasever/
gpgcheck=0
enabled=1
# 清除并更新yum缓存
]# yum clean all
]# yum makecache
    安装gitlab,默认安装安装的为最新版本,安装时可以指定具体的版本进行安装。

# 安装gitlab依赖软件
]# yum install curl policycoreutils openssh-server openssh-clients postfix
# 如果没有关闭防火墙需要配置防火墙
]# firewall-cmd --permanent --add-service=http
# 安装gitlab
]# yum install gitlab-ce

(2)配置启动gitlab

         修改gitlab配置文件” /etc/gitlab/gitlab.rb”,绑定自己主机ip地址。

# 将external修改为自己主机ip地址
external_url 'http://192.168.16.128'
# 启动gitlab并使修改的配置生效
]# gitlab-ctl reconfigure

(3)登录gitlab

         安装完成后即可通过浏览器登录gitlab,第一次登录需要设置密码。

(4)gitlab的操作命令

         gitlab-ctl status:查看gitlab状态

        gitlab-ctl start:启动gitlab

        gitlab-ctl stop:停止gitlab

       gitlab-ctl restart:重启gitlab

       gitlab-ctl tail servername:查看gitlab集成的服务日志

#查看gitlab所有组件的状态
]# gitlab-ctl status
run: alertmanager: (pid 122565) 1802s; run: log: (pid 122574) 1802s
run: gitaly: (pid 122496) 1804s; run: log: (pid 122547) 1802s
run: gitlab-monitor: (pid 122520) 1803s; run: log: (pid 122525) 1803s
run: gitlab-workhorse: (pid 122480) 1804s; run: log: (pid 122524) 1803s
run: logrotate: (pid 121671) 1900s; run: log: (pid 122530) 1803s
run: nginx: (pid 121613) 1911s; run: log: (pid 122488) 1804s
run: node-exporter: (pid 121854) 1878s; run: log: (pid 122509) 1803s
run: postgres-exporter: (pid 122585) 1801s; run: log: (pid 122591) 1801s
run: postgresql: (pid 121078) 1980s; run: log: (pid 122514) 1803s
run: prometheus: (pid 122535) 1802s; run: log: (pid 122557) 1802s
run: redis: (pid 120945) 1986s; run: log: (pid 122513) 1803s
run: redis-exporter: (pid 122068) 1855s; run: log: (pid 122526) 1803s
run: sidekiq: (pid 121478) 1923s; run: log: (pid 122516) 1803s
run: unicorn: (pid 121406) 1929s; run: log: (pid 122515) 1803s
# 查看redis日志
[root@localhost ~]# gitlab-ctl tail redis
2018-08-10_16:42:14.05381 120945:M 10 Aug 12:42:14.047 * 10 changes in 300 seconds. Saving...
2018-08-10_16:42:14.05398 120945:M 10 Aug 12:42:14.053 * Background saving started by pid 126469

(5)gitlab服务安装目录说明

         /var/opt/gitlab/git-data/repositories/:库默认存储目录

         /opt/gitlab:应用代码和相应的依赖程序

        /var/opt/gitlab:”gitlab-ctl reconfigure”命令编译后的应用数据和配置文件,不需要人为修改配置

        /etc/gitlab:配置文件目录

        /var/log/gitlab:此目录下存放了gitlab各个组件产生的日志

        /var/opt/gitlab/backups/:备份文件生成的目录

(6)变更配置文件操作

    gitlab-ctl show-config :修改配置后验证配置文件

    gitlab-ctl reconfigure :修改配置后重置配置文件

2、gitlab的管理与使用

    Gitlab安装完成后在登录gitlab,在gitlab创建组、用户以及项目并关联起来,用户在本地生成密钥对,并将公钥拷贝到gitlab。同时创建里程碑给用户分配任务,gitlab对客户端可以做一下操作:

# 将gitlab上的文件下载到本地
]# git clone git@192.168.16.128:java/java1.git
# 在客户端创建分支完成分配的任务并上传至gitlab
]# git branch index
]# git checkout index
]# echo "hello world" > index.html
]# git add .
]# git commit -m "index"
# 提交到远程git仓库
]# git push origin index
#查看远程库的详细信息
]# git remote -v
origin    git@192.168.16.128:java/java1.git (fetch)
origin    git@192.168.16.128:java/java1.git (push)

3、gitlab的备份与恢复

(1)gitlab的备份

    备份前需要修改配置文件”/etc/gitlab/gitlab.rb”中的以下内容: