Gitlab使用和分支管理(三)

电脑杂谈  发布时间:2019-12-25 22:01:46  来源:网络整理

数字签名算法 sha-256_md5校验工具 推荐_sha256sum校验工具

(一)、配置SSH到Gitlab账号

1、使用ssh-keygen生成密码文件.ssh/id_rsa.pub

[root@zabbix-proxy0496 ~]# ssh-keygen 
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:3DpddsSwRtOfMSDE8NSancZpL9sP7LPKFZQmjc2BWxc root@zabbix-proxy0496
The key's randomart image is:
+---[RSA 2048]----+
|         .++=+oE.|
|          ooo@o=.|
|           .Xo%o+|
|       . . +.% ..|
|        S . = +  |
|         o o + o |
|        o .   B  |
|         . . +.o |
|            o.ooo|
+----[SHA256]-----+

2、查看公钥的配置密文

[root@zabbix-proxy0496 ~]# cat ~/.ssh/id_rsa.pub 
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDJLYoootIWqpvrvuCpdCzSQGFHt/AYrXo5eYiqU6f2x8e55EjlOTMchykdBdZH0E38T7E/0GVD5J4Juo0F4TKXQAS0Vcg3MvDdaMyJRUBliN+CP8PjiTcKmLBXXnFTyr2d7XSLrkOq7EMf5PXpvl/SK+ildMC0YKNm2bDcg6hTRdWMoSC9dqUY/xNXmCxAn020dolfyyMb8NBmQCZOjZUlyfZt0KFnyMU3I8Fa5ex6Ow8ymGcTRnc/oXrOhclVU7e7tZ+zpe0EibKcsd7vDvW/fXIIkU7DXEMxn5mldf8rq81Zij0YgmebFpHI34dQ4UK1ey7PhIR73tCktUdsUmVX root@zabbix-proxy0496

3、在gitlab上添加ssh-key登陆

Gitlab使用和分支管理(三)

(二)、常用操作

数字签名算法 sha-256_sha256sum校验工具_md5校验工具 推荐

1、把相关的代码克隆出来

[root@zabbix-proxy0496 gitlab]# git clone git@192.168.4.97:lqb/yw.git
Cloning into 'yw'...
The authenticity of host '192.168.4.97 (192.168.4.97)' can't be established.
ECDSA key fingerprint is SHA256:7OoUZ9xWrE2sHmPq57C3L/DJdhX+zrrYlm58tboarqQ.
ECDSA key fingerprint is MD5:fa:38:e5:fc:90:d2:37:47:d4:0f:56:94:2e:8b:44:50.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.4.97' (ECDSA) to the list of known hosts.
remote: Enumerating objects: 25, done.
remote: Counting objects: 100% (25/25), done.
remote: Compressing objects: 100% (20/20), done.
remote: Total 25 (delta 6), reused 0 (delta 0)
Receiving objects: 100% (25/25), 67.95 KiB | 0 bytes/s, done.
Resolving deltas: 100% (6/6), done.
[root@zabbix-proxy0496 gitlab]# ls
yw

2、进相应的仓库查看git状态

[root@zabbix-proxy0496 gitlab]# cd yw/
[root@zabbix-proxy0496 yw]# git status
# On branch master
nothing to commit, working directory clean
[root@zabbix-proxy0496 yw]# ls
1.png  CONTRIBUTING.md  Dockerfile  lqb  README.md  test.sh

3、创建相应的代码添加至暂存区并上传到gitlab服务器上

[root@zabbix-proxy0496 yw]# echo "this is first " > index.html 
[root@zabbix-proxy0496 yw]# cat index.html 
this is first 
[root@zabbix-proxy0496 yw]# git add index.html 
[root@zabbix-proxy0496 yw]# git commit -m 'first commit'
[master 7d6a20e] first commit
 1 file changed, 1 insertion(+), 1 deletion(-)
[root@zabbix-proxy0496 yw]# git push -u origin master
Counting objects: 7, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (4/4), done.
Writing objects: 100% (6/6), 519 bytes | 0 bytes/s, done.
Total 6 (delta 2), reused 0 (delta 0)
To git@192.168.4.97:lqb/yw.git
   4497bc1..7d6a20e  master -> master
Branch master set up to track remote branch master from origin.

4、相关常用的命令

[root@zabbix-proxy0496 yw]# git log                  ###查看历史提交记录
[root@zabbix-proxy0496 yw]# git reflog              ###查看未来历史更新点
[root@zabbix-proxy0496 yw]#git reset --hard HEAD ###还原提交版本上一次,上一次提交版本HEAD
#########git删除数据
1、 git rm --cached database  #将文件从git暂存区域的追踪列表移除并不删除当前工作目录内的数据文件->只删除缓存 
2、 git rm -f database 4 #将文件数据从git暂存区和工作目录一起删除->永久删除
##########git重命名数据
3、git mv README NOTICE  #### README修改前/NOTICE修改后;最后进行提交git仓库 2 注意:也可mv修改名称→删除git仓库的文件快照git rm '*.txt'→将新的文件添加进去→提交git仓库
备注:
git rm -f filename      #删除工作区和暂存区的文件
(use --cached to keep the file, or -f to force removal)​
git diff file          #比较本地vs暂存区
git diff --cached file    #暂存区vs本地版本库
git log --oneline        # 一行显示
         --decorate      # 具体操作​
git log -p                 #显示详细信息
git log -1                #显示1条
commit 相当于做快照
从暂存区恢复到本地工作区
  git checkout -- file           # 撤销工作区更改
从版本库恢复[覆盖]到暂存区(暂存区错误add交)
git reset HEAD file
从版本库回退到版本[某一次commit版本]
git reset --hard f34j34
回退后,回退点之后的git log 日志看不到
git reflog 查看所有commit的日志

数字签名算法 sha-256_md5校验工具 推荐_sha256sum校验工具

5、标签使用(一般用于commit之后)

[root@zabbix-proxy0496 yw]# git tag v2.0       #####给当前内容打上标签
[root@zabbix-proxy0496 yw]# git show v2.0    #####查看当前版本v2.0标签的详细信息
[root@zabbix-proxy0496 yw]# git tag v2.1 -m "version 2.1 release is test"   #######对当前版本(最新)打标记,用于commit提交之后接着进行打标记(-a指定标签名,-m为说明信息)
[root@zabbix-proxy0496 yw]# git tag         #####查看当前所有标签
v1.0
v2.0
v2.1
[root@zabbix-proxy0496 yw]# git tag -d v2.0      ######删除标签v2.0
Deleted tag 'v2.0' (was 1c2bec9)
[root@zabbix-proxy0496 yw]# git reset --hard v2.2
HEAD is now at 02318ea this is second
[root@zabbix-proxy0496 yw]# git reset --hard 02318ea    #######快速回滚
HEAD is now at 02318ea this is second

Workspace:工作区

Index/Stage/Cached:暂存区

Repository:本地仓库

Remote:远程仓库

Git命令就是用于将文件改动切换至不同的空间来记录

(三)、分支的概念

md5校验工具 推荐_sha256sum校验工具_数字签名算法 sha-256

Git的分支,从本质上来讲仅仅是指向提交对象的可变指针。在这一点上与SvN是有着本质的差别。SVN的分支实际上就是一个目录。

Git的默认分支名字是master。在多次提交操作期间,你或许早已有一个指向最终那些提交对象的master分支。它会在每天的提交操作中手动向前移动。

git 分支如下图

Gitlab使用和分支管理(三)

常用的命令如下:

git branch          #查看分支
git checkout dev    #切换分支
git merge dev       # 合并分支
如果修改了同一个文件,合并时会冲突,需要确定修改内容
在master 修改冲突的文件,add 提交,commit -->合并完成
git brach -d dev 删除分支

在实际的项目研发中尽量确保master分支稳定,仅用于发布新版本sha256sum校验工具,平时不要直接设置前面的数据文件。而开发都在dev分支进行更改,即每个人从dev分支建立自己个人分支,开发完合并到dev分支sha256sum校验工具,最后合并到master分支

1、创建和切换分支

数字签名算法 sha-256_sha256sum校验工具_md5校验工具 推荐

[root@zabbix-proxy0496 yw]# git branch dev       #####创建分支
[root@zabbix-proxy0496 yw]# git branch            #####查看分支情况当前分支有*号
  dev
* master
[root@zabbix-proxy0496 yw]# git checkout dev    #######切换分支
Switched to branch 'dev'
[root@zabbix-proxy0496 yw]# git checkout index.html       ######一键还原,直接将git仓库的文件覆盖当前文件[危险]
[root@zabbix-proxy0496 yw]# git branch
* dev
  master

2、合并分支

[root@zabbix-proxy0496 yw]# git checkout master      ####切换分支
Switched to branch 'master'
[root@zabbix-proxy0496 yw]# git merge dev                   ####dev分支合并到master
Merge made by the 'recursive' strategy.
 1.log | 1 +
 1 file changed, 1 insertion(+)
 create mode 100644 1.log
[root@zabbix-proxy0496 yw]# git branch
  dev
* master
[root@zabbix-proxy0496 yw]# tree
.
├── 1.log
├── 1.png
├── CONTRIBUTING.md
├── Dockerfile
├── index.html
├── lqb
├── README.md
└── test.sh
[root@zabbix-proxy0496 yw]# git branch -d dev             ######删除dev分支
Deleted branch dev (was a9b4292).
[root@zabbix-proxy0496 yw]# git branch
* master

(四)、Github

Github顾名思义是一个Git版本库的托管服务,是现在中国最大的硬件仓库,拥有上百万的开发者用户,也是硬件研发和寻求资源的绝佳方式,Github不仅可以托管各种Git版本仓库,还拥有了最美观

的Web界面,您的代码文件可以被任何人克隆,使得开发者为开源项贡献代码变得非常容易,当然也可以付费购入私有库,这样高性价比的私有库真的是帮助到了这些团队跟企业。

1、注册用户

2、配置ssh-key

3、创建项目

4、克隆项目至本地

5、推送修改至远程


本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/bofangqi/article-134654-1.html

    相关阅读
      发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

      热点图片
      拼命载入中...