• Git基础教程详解


    1.安装Git

    选择命令行,可以从Git网站下载Git的安装程序并安装。

    若使用Mac,也可以使用套件管理工具MacPorts或Homebrew来安装。

    工作树和索引

    在Git管理下,大家实际操作的目录被称为工作树。

    在数据库和工作树之间有索引,索引是为了向数据库提交作准备的区域。

    Git在执行提交的时候,不是直接将工作树的状态保存到数据库,而是将设置在中间索引区域的状态保存到数据库。因此,要提交文件,首先需要把文件加入到索引区域中。

    所以,凭借中间的索引,可以避免工作树中不必要的文件提交,还可以将文件修改内容的一部分加入索引区域并提交。

    2.初期设定

    安装Git之后,输入用户名和电子邮件地址。该设置操作在安装Git后进行一次就够了。这些信息将作为提交者信息显示在更新历史中。

    Git的设定被存放在用户本地目录的.gitconfig里。虽然可以直接编辑配置文件,此外我们也可以使用config命令。

    $ git config --global user.name "<用户名>"
    $ git config --global user.email "<电子邮件>"
    
    • 1
    • 2

    以下命令能让Git以彩色显示。

    $ git config --global color.ui auto
    
    • 1

    您可以为Git命令设定别名。例如:把「checkout」缩略为「co」,然后就使用「co」来执行命令。

    $ git config --global alias.co checkout
    
    • 1

    3.新建数据库

    3.1 初始化数据库

    在本地新建数据库,创建一个名称为「tutorial」的空目录,并把它放在Git管理之下。

    首先在任意一个地方创建tutorial目录。然后使用init命令把该tutorial目录移动到本地Git数据库。

    $ git init
    
    • 1

    按照以下步骤把新创建的tutorial目录设置到Git数据库。

    $ mkdir tutorial
    $ cd tutorial
    $ git init
    
    • 1
    • 2
    • 3
    3.2 确认状态

    请使用status命令确认工作树和索引的状态。

    $ git status
    
    • 1
    3.3 添加文件至索引

    将文件加入到索引,要使用add命令。在指定加入索引的文件。用空格分割可以指定多个文件。

    $ git add <file>..
    
    • 1

    Tips

    指定参数「.」,可以把所有的文件加入到索引。

    $ git add .
    
    • 1
    3.4 提交文件(commit)

    已加入到索引,我们就可以提交文件了。请执行如下显示的commit命令。

    $ git commit -m ""
    
    • 1

    执行commit命令之后确认状态。

    $ git commit -m "first commit"
    
    • 1

    从status响应我们可以看到没有新的变更要提交。

    3.5 查看记录

    使用log命令,我们可以在数据库的提交记录看到新的提交。

    $ git log
    
    • 1

    4.push到远程数据库

    向远程数据库推送本地数据库的修改记录

    4.1 给数据库起别名

    给远程数据库取一个别名。这样,下次推送的时候就不需要输入长串的远程数据库地址了。

    请使用remote指令添加远程数据库。在处输入远程数据库名称,在处指定远程数据库的URL。

    $ git remote add <name> <url>
    
    • 1

    eg.

    $ git remote add origin https://XXX.git
    
    • 1

    执行推送或者拉取的时候,若省略了远程数据库的名称,则默认使用名为”origin“的远程数据库。因此一般都会把远程数据库命名为origin。

    4.2 push到远程数据库
    $ git push <repository> <refspec>...
    
    • 1

    运行push可向远程数据库‘origin’进行推送。

    • 当执行命令时,如果指定了-u选项,那么下一次推送时就可以省略分支名称。
    • 注意:首次运行指令向空的远程数据库推送时,必须指定远程数据库名称和分支名称。
    $ git push -u origin master
    
    • 1

    5.clone克隆远程数据库

    使用clone指令可以复制数据库,在指定远程数据库的URL,在指定新目录的名称。

    $ git clone <repository> <directory>
    
    • 1

    执行以下指令后,会在目录(tutorial2) 复制远程数据库。

    $ git clone https://XXX.git tutorial2
    
    • 1

    6.从克隆的数据库进行push

    修改后的文件进行推送,更新远程数据库。当在克隆的数据库目录执行推送时,可以省略数据库和分支名称。

    $ git push
    
    • 1

    7.从远程数据库pull

    • 进行拉取(Pull) 操作就可以把远程数据库的内容更新到本地数据库。
    • 进行拉取(Pull) 操作,就是从远程数据库下载最近的变更日志,并覆盖自己本地数据库的相关内容。

    我们把在上一页面中从“tutorial2”推送到远程数据库的内容拉取到数据库目录“tutorial”吧。

    使用pull指令进行拉取操作。省略数据库名称的话,会在名为origin的数据库进行pull。

    $ git pull <repository> <refspec>...
    
    • 1

    用tutorial进行的操作
    请执行以下指令。

    $ git pull origin master
    
    • 1

    我们使用log指令来确认历史记录是否已更新。

    $ git log
    
    • 1

    8.合并修改记录

    在执行pull之后,进行下一次push之前,如果其他人进行了推送内容到远程数据库的话,那么你的push将被拒绝。

    这种情况下,在读取别人push的变更并进行合并操作之前,你的push都将被拒绝。这是因为,如果不进行合并就试图覆盖已有的变更记录的话,其他人push的变更就会丢失。

    合并的时候,Git会自动合并已有的变更点!也存在不能自动合并的情况,这时需要我们手动合并!

    image-20220906214141214

    ==分割线上方是本地数据库的内容,下方是远程数据库的编辑内容。

    再次重复add,commit操作。

    用log命令来确认数据库的历史记录是否准确。指定–graph选项,能以文本形式显示更新记录的流程图。指定–oneline选项,能在一行中显示提交的信息。

    $ git log --graph --oneline
    
    • 1
  • 相关阅读:
    Idea springboot 配置https
    Window窗体。
    嵌入式系统开发笔记92:感受开源之美
    LeaRun模型驱动开发框架 重塑企业生产力
    CocosCreator 3.x热更新学习
    MybatisX插件使用
    信息抽取在旅游行业的应用:以景点信息抽取为例
    在Windows下自己从源码编译Python3.10.13成安装包
    shell脚本之双重循环
    Android 通过Intent打开第三方App
  • 原文地址:https://blog.csdn.net/m0_52316372/article/details/126735528