• git企业级使用


    1.初始Git

    1.1创建Git仓库

    要提前说的是,仓库是进⾏版本控制的⼀个⽂件⽬录。我们要想对⽂件进⾏版本控制,就必须先创建⼀个仓库出来。创建⼀个Git本地仓库对应的命令为 git init ,注意命令要在⽂件⽬录下执⾏,例如:

    刚创建的git仓库会有一个隐藏文件  .git这个文件不能修改 ,git来跟踪管理仓库的,不要⼿动
    修改这个⽬录⾥⾯的⽂件,不然改乱了,就把git仓库给破坏了.如果有兴趣,可以进入.git文件中查看。

    创建完之后需要配置git ,设置用户名和e-mail地址,这是非常重要的。配置指令如下:

    git config [--global] user.name "Your Name"
    git config [--global] user.email "email@example.com"
    # 把 Your Name 改成你的昵称
    # 把 email@example.com 改成邮箱的格式,只要格式正确即可

    其中 --global 是⼀个可选项。如果使⽤了该选项,表⽰这台机器上所有的Git仓库都会使⽤这个
    配置。如果你希望在不同仓库中使⽤不同的 name 或 e-mail ,可以不要 --global 选项,但要
    注意的是,执⾏命令时必须要在仓库⾥。

    查看配置命令如下:git config -l

    删除对应的配置命令为: git config [--global] --unset user.name #删除用户名
                                          git config [--global] --unset user.email #删除e-mail地址

    1.2 使用git

    认识⼯作区、暂存区、版本库
    • ⼯作区:是在电脑上你要写代码或⽂件的⽬录。
    • 暂存区:英⽂叫stage或index。⼀般存放在 .git ⽬录下的index⽂件(.git/index)中,我们
    把暂存区有时也叫作索引(index)。
    • 版本库:⼜名仓库,英⽂名 repository 。⼯作区有⼀个隐藏⽬录 .git ,它不算⼯作区,⽽
    是Git的版本库。这个版本库⾥⾯的所有⽂件都可以被Git管理起来,每个⽂件的修改、删除,Git都能跟踪,以便任何时刻都可以追踪历史,或者在将来某个时刻可以“还原”。

    下面这个图展示了三个区之间的关系:

    • 图中左侧为⼯作区,右侧为版本库。Git的版本库⾥存了很多东西,其中最重要的就是暂存区。
    • 在创建Git版本库时,Git会为我们⾃动创建⼀个唯⼀的master分⽀,以及指向master的⼀个指针叫HEAD。(分⽀和HEAD的概念后⾯再说)。
    • 当对⼯作区修改(或新增)的⽂件执⾏ git add 命令时,暂存区⽬录树的⽂件索引会被更新。
    •  当执⾏提交操作 git commit 时,master分⽀会做相应的更新,可以简单理解为暂存区的⽬录树才会被真正写到版本库中。
    • 由上述描述我们便能得知:通过新建或粘贴进⽬录的⽂件,并不能称之为向仓库中新增⽂件,⽽只是在⼯作区新增了⽂件。必须要通过使⽤ git add 和 git commit 命令才能将⽂件添加到仓库中进⾏管理!!!

    添加文件:git add   file #可以添加多个文件

                       git add .      #添加当前⽬录下的所有⽂件改动到暂存区

    使⽤ git commit 命令将暂存区内容添加到本地仓库中:
    git commit -m "message"   # 提交暂存区全部内容到本地仓库中
     git commit [file1] [file2] ... -m "message"  #提交暂存区的指定⽂件到仓库区
    注意 git commit 后⾯的 -m 选项,要跟上描述本次提交的message,由⽤⼾⾃⼰完成,这部分内容绝对不能省略,并要好好描述,是⽤来记录你的提交细节,是给我们⼈看的。

    查看历史提交记录: git log

    如果嫌弃信息麻烦,可以使用 git log --pretty=oneline 用来简化输出信息。

    比如:

    需要说明的是,我们看到的⼀⼤串类似 1490fde2f.....a7c1数字 的是每次提交的 commit id (版本号),Git的 commit id 不是1,2,3……递增的数字,⽽是⼀个SHA1计算出来的⼀个⾮常⼤的数字,⽤⼗六进制表⽰(你看到的 commit id 和我的肯定不⼀样,以你⾃⼰的为准)

    查看暂存区的内容:git status  #查看文件是否发生更新的·

    版本回退:git reset  [--sort] #将版本库中的内容回退

                       git reset  [--mixed] #将版本库和暂存区中的内容回退,默认选项、

                        git reset [--hard]#将版本库,暂存区,工作区中所有的内容都回退。慎用。

    删除文件: rm -rf [file]#只能删除工作区中的内容,不能删除其他的,

     rm 命令只是删除工作区的文件,并没有删除版本库的文件,想要删除版本库文件还要执行下面的命令:

    $ git add [file]
    $ git commit -m "delete test"

    彻底删除文件。

    分支管理:

    分⽀就是科幻电影⾥⾯的平⾏宇宙,当你正在电脑前努⼒学习C++的时候,另⼀个你正在另⼀个平⾏宇宙⾥努⼒学习JAVA。

    Git⽀持我们查看或创建其他分⽀,在这⾥我们来创建第⼀个⾃⼰的分⽀ dev ,对应的命令为:

    git branch  +分支名

    当我们创建新的分⽀后,Git新建了⼀个指针叫dev, * 表⽰当前 HEAD 指向的分⽀是 master 分
    ⽀。另外,可以通过⽬录结构发现,新的 dev 分⽀。发现⽬前dev和master指向同⼀个修改。并且也可以验证下HEAD⽬前是指向 master 的。


    切换分⽀:git checkout

    2.远程管理

    我们⽬前所说的所有内容(⼯作区,暂存区,版本库等等),都是在本地!也就是在你的笔记本或者计算机上。⽽我们的Git其实是分布式版本控制系统!什么意思呢?
    可以简单理解为,我们每个⼈的电脑上都是⼀个完整的版本库,这样你⼯作的时候,就不需要联⽹
    了,因为版本库就在你⾃⼰的电脑上。既然每个⼈电脑上都有⼀个完整的版本库,那多个⼈如何协作呢?⽐⽅说你在⾃⼰电脑上改了⽂件A,你的同事也在他的电脑上改了⽂件A,这时,你们俩之间只需把各⾃的修改推送给对⽅,就可以互相看到对⽅的修改了。分布式版本控制系统的安全性要⾼很多,因为每个⼈电脑⾥都有完整的版本库,某⼀个⼈的电脑坏掉了不要紧,随便从其他⼈那⾥复制⼀个就可以了。在实际使⽤分布式版本控制系统的时候,其实很少在两⼈之间的电脑上推送版本库的修改,因为可能你们俩不在⼀个局域⽹内,两台电脑互相访问不了。也可能今天你的同事病了,他的电脑压根没有开机。因此,分布式版本控制系统通常也有⼀台充当“中央服务器”的电脑,但这个服务器的作⽤仅仅是⽤来⽅便“交换”⼤家的修改,没有它⼤家也⼀样⼲活,只是交换修改不⽅便⽽已。有了这个“中央服务器”的电脑,这样就不怕本地出现什么故障了(⽐如运⽓差,硬盘坏了,上⾯的所有东西全部丢失,包括git的所有内容)。

    推送到远程仓库指令:git push

    从远程仓库拉取:  git pull

    克隆远程仓库: git  clone

  • 相关阅读:
    c++ lambda
    kafka副本机制
    在 SPRING Boot JPA 中调用带有本机查询中的参数的存储过程
    linux查看dns命令
    Nginx架构基础
    Spring WebClient 基于响应式编程模型的HTTP客户端
    Docker容器教程
    「聊设计模式」之桥接模式(Bridge)
    爱胜品YPS-1133DN系列打印机与奔图P3301DN打印机耗材更换的简单对比说明
    IT之路,从迷茫“愤青”到团队项目经理,他是如何一步步走出来的?
  • 原文地址:https://blog.csdn.net/weixin_66828150/article/details/132655104