DevOps-Gitlab命令使用、实现代码上传与下载示例

SVN 与 CVS:
每次提交的文件都单独保存,即按照文件的提交时间区分不同的版本,保存至不同的逻辑存储区域,后期恢复的时候直接基于之前版本恢复。


DevOps-Gitlab命令使用、实现代码上传与下载示例

 

Gitlab:

Gitlab 与 SVN 的数据保存方式不一样,gitlab 虽然也会在内部对数据进行逻辑划分保存,但是当后期提交的数据如果和之前提交过的数据没有变化,其就直接快照之前的文件,而不是在将文件重新上传一份在保存一遍,这样既节省了空间又加快了代码提交速度。


DevOps-Gitlab命令使用、实现代码上传与下载示例

git常用命令

Git global setup
git config --global user.name "Administrator"
git config --global user.email "admin@example.com"

Create a new repository
git clone http://gitlab.magedu.com/mao/lmweb1.git
cd lmweb1
touch README.md
git add README.md             //将当前目录下代码提交到本地暂存区"
git commit -m "add README"   //"为描述信息,将当前目录下代码提交到本地仓库"
git push -u origin master    //上传到远程仓库

Push an existing folder
cd existing_folder
git init
git remote add origin http://gitlab.magedu.com/mao/lmweb1.git
git add .
git commit -m "Initial commit"
git push -u origin master

Push an existing Git repository
cd existing_repo
git remote rename origin old-origin
git remote add origin http://gitlab.magedu.com/mao/lmweb1.git
git push -u origin --all
git push -u origin --tags
git config --global user.name “name“ #设置全局用户名
git config --global user.email xxx@xx.com #设置全局邮箱
git config --global --list #列出用户全局设置
git add index.html / . #添加指定文件、目录或当前目录下所有数据到暂存区
git commit -m “11“ #提交文件到本地仓库,""为描述信息
git status #查看工作区的状态
git push #提交代码到服务器
git pull #获取代码到本地
git log #查看操作日志
vim .gitignore #定义忽略文件
git reset --hard HEAD^^ #git 版本回滚, HEAD 为当前版本,加一个^为上一个,^^为上上一个版本
git reflog # #获取每次提交的 ID,可以使用--hard 根据提交的 ID 进行版本回退
git reset --hard 5ae4b06 #回退到指定 id 的版本
# git branch #查看当前所处的分支
#git checkout -b develop #创建并切换到一个新分支
#git checkout develop #切换分支

git  缓存区与工作区 等 概念

工作区:clone 的代码或者开发自己编写的代码文件所在的目录,通常是代码所在的一个服务的目录名称。

暂存区:用于存储在工作区中对代码进行修改后的文件所保存的地方,使用 git add 添加。

本地仓库:用于提交存储在工作区和暂存区中改过的文件地方,使用 git commi 提交。

远程仓库:多个开发共同协作提交代码的仓库,即 gitlab 服务器。

DevOps-Gitlab命令使用、实现代码上传与下载示例

 DevOps-Gitlab命令使用、实现代码上传与下载示例

 示例:

]# cd lmweb1/
[root@jenkins lmweb1]# ll
-rw-r--r--. 1 root root 74 Dec 16 06:32 index.html
[root@jenkins lmweb1]# git status
# On branch master
nothing to commit, working directory clean
[root@jenkins lmweb1]# mkdir app1
[root@jenkins lmweb1]# cd app1/
[root@jenkins app1]# vim index.html
[root@jenkins app1]# cd ..
[root@jenkins lmweb1]# git add .
[root@jenkins lmweb1]# git status   //可以看到缓存区有待上传文件
# On branch master
# Changes to be committed:
#   (use "git reset HEAD <file>..." to unstage)
#
#       new file:   app1/index.html

[root@jenkins lmweb1]# git commit -m "this is app1"
[master c6cdc3e] this is app1
 1 file changed, 1 insertion(+)
 create mode 100644 app1/index.html
[root@jenkins lmweb1]# git status //再次查看工作区状态 # On branch master # Your branch is ahead of 'origin/master' by 1 commit. # (use "git push" to publish your local commits) # nothing to commit, working directory clean
[root@jenkins lmweb1]# git push //上传到远程仓库
Username for 'http://gitlab.magedu.com': laomao Password for 'http://laomao@gitlab.magedu.com': Counting objects: 5, done. Delta compression using up to 2 threads. Compressing objects: 100% (3/3), done. Writing objects: 100% (4/4), 364 bytes | 0 bytes/s, done. Total 4 (delta 0), reused 0 (delta 0) To http://gitlab.magedu.com/mao/lmweb1.git 46dcbb6..c6cdc3e master -> master

 

上一篇:【Jenkins学习】gitlab自动化触发jenkins任务


下一篇:Git配置教程:在一台设备上同时配置github和gitlab的SSH