• 《Git学习指南》学习笔记(一)


    第二章 入门

    git的安装

    在Linux下,git的安装很简单。以我的系统Deepin/Ubuntu为例,只需在终端敲入sudo apt-get install git即可。其他Linux发行版可尝试yum install git-core

    第一个Git项目

    初学时,建议使用一个新创建的目录来进行测试。

    创建版本库

    版本库可以存储项目及其历时数据。我们可以用init来进行创建。

    首先我们新建一个空目录gittest,然后新建两个文本文件,如a.txt和b.txt,内容任意,然后使用init来创建版本库:

    观察文件夹,可以发现已经多了一个名为.git的隐藏文件:

    这样就说明你的版本库已经创建成功。

    首次提交

    刚刚仅仅是把版本库创建了,那我的两个文件如何添加到版本库中去呢?此时需要使用两个命令:addcommit,每次提交git都会为其生成一个散列值,这也是git对所有版本进行区分的一个键值。

    如图,已经成功提交了刚刚创建的a和b两个文件。

    检查状态

    git如何检查版本库文件的状态呢?

    首先我们来把a.txt删除,然后新建一个c.txt,最后查看状态:

    status命令用于显示自上次提交以来所有发生的修改。c.txt文件被标为未跟踪状态,是因为它还没有被add进版本库。

    使用diff命令可以显示每个被修改的行,但在终端上看可能会显得比较晦涩难懂:

    因此还是建议使用图形化工具如kdiff3来查看。这里请大家自行查找。

    提交修改

    我们修改b.txt文件内容,希望将更改加入到版本库中,对希望删除的文件使用rm命令,操作之后同样也需要执行add命令,然后查看状态:

    最后,别忘了commit

    显示历史

    既然我们已经修改过文件了,那如何查看历史记录呢?

    log命令即可按照时间降序来显示历史记录:

    Git的协作功能

    克隆版本库

    为了模拟团队开发协作,我们另新建一个文件夹,代表第二位开发者在自己的PC上进行团队开发:

    此时,gittest2中已经有一份和gittest项目一模一样的拷贝。

    从另一版本库中获取修改

    现在,我们假设开发者A对gittest项目进行了修改:

    此时,开发者B也对项目进行了修改:

    这样,两位开发者都在各自的PC上对项目进行了修改、提交。由于开发者B克隆的A的项目,因此B的项目中存储了原版本库的路径。接下来,我们使用pull命令将开发者B克隆的项目进行同步,取回最新的提交:

    可以发现,开发者B的项目中的b.txt文件得到了同步,和A的一模一样了。这个过程中,B使用pull从原版本库中取回了新的修改,将它们与克隆体中的本地修改进行对比,然后在工作区中合并了两边的修改,创建了一次新的提交,这就叫合并(merge)

    从任意版本库中取回修改

    在进行pull时,默认是从原版本库中进行获取。当指定参数时,便能实现从任意版本库中获取。

    现在,我们将克隆体中的修改pull到原版本库:

    创建共享版本库

    push命令可以将提交传送给其他版本库。但是,push命令只适用于那些没有开发者在上面开展具体工作的版本库。最好是创建一个不带工作区的版本库,称为裸版本库(bare reppository)

    裸版本库就是充当开发者们传递提交的汇聚点,以便其他人可以从中拉回他们所做的修改。

    用push命令上载修改

    修改~/gittest/b.txt文件,然后进行提交,最后push操作:

    Pull命令:取回修改

    现在,clone仓库也想获取相应的修改,执行以下命令即可:

  • 相关阅读:
    Windows 8 C#调用C++编写的Windows运行时组件
    Metro style App Datetime formating.
    《编程匠艺》读书笔记之一
    ContextMenu的使用
    单例模式
    c# 类中字段属性设计
    Metro style app 文件查找
    Win 8 学习资料汇总
    Metro C++ 初体验 第二周
    Metro style app 文件、文件夹的选择、文件的保存。
  • 原文地址:https://www.cnblogs.com/zyoung/p/10064550.html
Copyright © 2020-2023  润新知