git与gitlab工具

1.Git和SVN的对比

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

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

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

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

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

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

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

 

2.git几个概念

1)工做目录svn

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

 

2)暂存区域gitlab

是一个文件,保存了下次将提交的文件列表信息,通常在 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 "you@example.com"     #进行认证

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 git@192.168.52.233:root/test.git

相关文章
相关标签/搜索