企业级Git本地代码仓库的搭建及使用

目录

                 前言

                 本地Git代码仓库的搭建及使用

                 总结

 

前言

1.什么是git?

  • 开源的最先进的分布式版本控制系统,没有之一
  • 用以高效、高速的处理从很小到非常大的项目版本管理。

2.什么是版本控制系统?

  • 版本控制是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统

3.什么是分布式版本控制系统?

  • 分布式版本控制系统(Distributed Version Control System,简称 DVCS), 在这类系统中,像 Git、Mercurial、Bazaar 以及 Darcs 等,客户端并不只提取最新版本的文件快照,而是把代码仓库完整地镜像下来。 这么一来,任何一处协同工作用的服务器发生故障,事后都可以用任何一个镜像出来的本地仓库恢复。 因为每一次的克隆操作,实际上都是一次对代码仓库的完整备份。

4.Git的功能特性

  1. 从服务器上克隆数据库(包括代码和版本信息)到单机上
  2. 在自己的机器上创建分支,修改代码
  3. 在单机上自己创建的分支上提交代码
  4. 在单机上合并分支
  5. 新建一个分支,把服务器上最新版的代码fetch下来,然后跟自己的主分支合并
  6. 生成补丁(patch),把自己的补丁发送给主开发者
  7. 看主开发者的反馈,如果主开发者发现两个一般开发者之间有冲突(他们之间可以合作解决的冲突),就会要求他们先解决冲突,然后由其中一个人提交。如果主开发者可以自己解决,或者没有冲突,就通过
  8. 一般开发者之间解决冲突的方法,开发者之间可以使用pull命令解决冲突,解决完冲突之后再向主开发者提交补丁

本地Git代码仓库的搭建及使用

1)安装git

[root@hya ~]# yum -y install git

2)创建本地代码仓库

[root@hya ~]# mkdir /mydata        #用这个目录作为代码仓库
[root@hya ~]# cd /mydata/
[root@hya mydata]# git init         #生成代码仓库的数据文件
初始化空的 Git 版本库于 /mydata/.git/   

3)添加用户信息

[root@hya mydata]# git config --global user.name hya
[root@hya mydata]# git config --global user.email [email protected]
[root@hya mydata]# cat ~/.gitconfig 
[user]
	name = hya
	email = [email protected]

4)创建三个测试文件

[root@hya mydata]# touch {1..3}.txt
[root@hya mydata]# echo "this is the first line" >> 1.txt 

5)将这三个文件加入到git版本库

[root@hya mydata]# git add ./*
[root@hya mydata]# git commit -m "v1:三个新文件"   #在git中记录第一个版本
[master(根提交) 428a197] v1:三个新文件
 3 files changed, 1 insertion(+)
 create mode 100644 1.txt
 create mode 100644 2.txt
 create mode 100644 3.txt

6)查看git中版本记录 

[root@hya mydata]# git log     #此时只有一个版本
commit 428a197b5c1d5988f6a8496b92ecb33e6a093814
Author: hya <[email protected]>
Date:   Wed Sep 30 09:12:26 2020 +0800

    v1:三个新文件
##########
[root@hya mydata]# git status   #查看仓库文件状态
# 位于分支 master
无文件要提交,干净的工作区

7)创建进行一些修改操作,将修改后的代码再次加入到代码库中

[root@hya mydata]# echo  "this is the second line" >> 1.txt 
[root@hya mydata]# touch 4.txt
[root@hya mydata]# git add ./*
[root@hya mydata]# git commit -m "v2:追加一行内容,并创建新文件"
[master 7ca425c] v2:追加一行内容,并创建新文件
 2 files changed, 1 insertion(+)
 create mode 100644 4.txt

8)查看git中的版本记录

[root@hya mydata]# git log
commit 7ca425c4ebd68a923e50d3e2843fb46a496c78ad
Author: hya <[email protected]>
Date:   Wed Sep 30 09:33:35 2020 +0800

    v2:追加一行内容,并创建新文件            #第一个版本

commit 428a197b5c1d5988f6a8496b92ecb33e6a093814
Author: hya <[email protected]>
Date:   Wed Sep 30 09:12:26 2020 +0800

    v1:三个新文件                            #第二个版本

9)再次修改1.txt,将修改后的代码再次加入到代码库中

[root@hya mydata]# echo "" > 1.txt 
[root@hya mydata]# git add ./*
[root@hya mydata]# git commit -m "v3:清空1.txt"
[master 60b3b76] v3:清空1.txt
 1 file changed, 1 insertion(+), 2 deletions(-)
######查看版本库中的内容
[root@hya mydata]# git log
commit 60b3b76249db80c782a434842763e4ce8943fcf2
Author: hya <[email protected]>
Date:   Wed Sep 30 09:36:21 2020 +0800

    v3:清空1.txt

commit 7ca425c4ebd68a923e50d3e2843fb46a496c78ad
Author: hya <[email protected]>
Date:   Wed Sep 30 09:33:35 2020 +0800

    v2:追加一行内容,并创建新文件

commit 428a197b5c1d5988f6a8496b92ecb33e6a093814
Author: hya <[email protected]>
Date:   Wed Sep 30 09:12:26 2020 +0800

    v1:三个新文件

10)查看历史版本记录

[root@hya mydata]# git reflog
60b3b76 HEAD@{0}: commit: v3:清空1.txt
7ca425c HEAD@{1}: commit: v2:追加一行内容,并创建新文件
428a197 HEAD@{2}: commit (initial): v1:三个新文件

11)恢复v2版本

[root@hya mydata]# git reset --hard 7ca425c    #指定恢复到id为7ca425c的版本中
HEAD 现在位于 7ca425c v2:追加一行内容,并创建新文件

12)验证

[root@hya mydata]# cat 1.txt   #是第二版中的内容
this is the first line
this is the second line

总结

        git这个工具其实蛮好用的,最近我也在重新熟悉这一块的技术,感兴趣的小伙伴们要“一键三连”吖。

猜你喜欢

转载自blog.csdn.net/yeyslspi59/article/details/108879463