git与gitlab工具

Posted agnostida-trilobita

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了git与gitlab工具相关的知识,希望对你有一定的参考价值。

1.Git和SVN的对比

1)git是分布式的,svn是集中式的。(最核心)

2)git是每个历史版本都存储完整的文件,便于恢复,svn是存储差异文件,历史版本不可恢复。(核心)

3)git可离线完成大部分操作,svn则不能。

4)git有着更优雅的分支和合并实现。

5)git有着更强的撤销修改和修改历史版本的能力

6)git速度更快,效率更高。

基于以上区别,git有了很明显的优势,特别在于它具有的本地仓库。

 

2.git几个概念

1)工作目录

工作目录是对项目的某个版本独立提取出来的内容。这些从 Git 仓库的压缩数据库中提取出来的文件,放在磁盘上供你使用或修改。

 

2)暂存区域

是一个文件,保存了下次将提交的文件列表信息,一般在 Git 仓库目录中。有时候也被称作`‘索引’’,不过一般说法还是叫暂存区域。

 

3)Git 仓库目录

是Git 用来保存项目的元数据和对象数据库的地方。这是 Git 中最重要的部分,从其它计算机克隆仓库时,拷贝的就是这里的数据。

 

3.git使用

1)常用选项

add        把工作目录内容添加到暂存区域

branch          查看和设置分支

checkout        切换分支和撤销

clone        克隆远程仓库

commit         把暂存取余提交到仓库

init        初始化工作目录

log          查看提交的日志信息

merge        合并分支

pull        拉取远程仓库

push         把本地内容推送到远程仓库

reset        撤销操作

status        查看文件所处的状态

 

2)使用

创建和初始化目录

mkdir /git_li

cd /git_li

git init

 

创建文件进行测试

echo "test" >test

git add .       #把工作目录下的所有文件提交到暂存区域

git commit -m "v1"      #把暂存区域的内容提交到仓库并标识为v1版本

git config --global user.email "[email protected]"     #进行认证

git config --global user.name "Your Name"

再次提交

 

查看版本信息

gitlog

 

多次提交并设置为不同版本

echo "123" >> test

git add .

 git commit -m "v2"

[master 4c1ef68] v2

 1 file changed, 1 insertion(+)

echo "123" >> test

git add .

git commit -m "v3"

[master 7cb610b] v3

 

切换至V1版本

git reset --hard 8a3e5e13ab

 

工作目录回滚

git checkout -- test   #进行工作目录状态撤销

 

暂存区域回滚

git reset HEAD test   #不提交至仓库

git checkout -- test   #工作目录中撤销

 

查看历史版本信息

git reflog

 

3)git分支

查看分支

git branch

 

创建分支

git branch test

 

切换分支

git checkout test

 

合并分支

git merge test

 

4.gitlab私有仓库

GitLab 是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的web服务。

 

可通过Web界面进行访问公开的或者私人项目。它拥有与Github类似的功能,能够浏览源代码,管理缺陷和注释。可以管理团队对仓库的访问,它非常易于浏览提交过的版本并提供一个文件历史库。团队成员可以利用内置的简单聊天程序(Wall)进行交流。它还提供一个代码片段收集功能可以轻松实现代码复用。

 

5.安装gitlab

1)下载安装包

wget --content-disposition https://packages.gitlab.com/gitlab/gitlab-ce/packages/el/7/gitlab-ce-8.9.5-ce.0.el7.x86_64.rpm/download.rpm

2)修改ip

vim /etc/gitlab/gitlab.rb

external_url ‘http://192.168.52.233

3)重新配置

gitlab-ctl reconfigure

gitlab-ctl start

启动gitlab时80端口不可被占用

4)gitlab使用

git clone http://192.168.52.233/root/test.git

git push -u origin master

5)linux免秘钥使用gitlab

ssh-keygen 生成秘钥

公钥粘贴到gitlab的ssh-keys中

拉取gitlab项目

git clone [email protected]:root/test.git

 

以上是关于git与gitlab工具的主要内容,如果未能解决你的问题,请参考以下文章

GIT系列——GitLab备份与恢复

基于GitLab与Git Extensions搭建版本控制工具

git与gitlab工具

工具Git与GitLab /GitHub/Coding/...不得不说的秘密。

Git GitLab服务器社区版安装与使用

git与gitlab