• Git 的基本操作的学习


    Git 基本操作参考链接:

    https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000

    Git的理解:

    git 是一个版本迭代管理器,用于记录文件的操作过程以及将文件回退到操作之前。从教程中看出git是一个只会对文本文件的修改做出相应的详细提示,而对于二进制文件的修改则只会有大小更改的内容。对于我来说git的主要功能是用来作为项目更替存放回退的一个工具。

    git的创建只需要在项目的根目录下将其初始化为仓库即可。成功后会在当前目录下产生一个.git的目录。这个目录就是管理配置仓库所有数据存放的地方。任何项目只需要在其根目录项初始化git。之后将目录下所有的文件都提交给git,那么一个全新的库也就成功的建立了。

    Git的基本步骤

    1.下载安装

    一般的linux的镜像库里都会有git软件,而在windows也可以在网上找到相应的内容。

    2.用户配置

    1 $ git config --golbal user.name "Your Name"
    2 $ git config --gobal user.email "email@example.com" 

    3.创建

    (1)初始化

    在自己项目的根目录下执行如下命令

    $ git init

    成功后就会在当前目录下生成一个.git的目录

    4.提交

    #用于将代码放入到暂存区
    $ git add file1
    $ git add file2
    ...
    #将暂存区的代码提交,并加入更改的注释内容
    $ git commit -m "express"

    5.状态查看

    $ git status
    #通过status 第一来查看工作区是否有文本被更改(包括文件的新建和删除);
    #第二来查看暂存区中是否有加入的文件还未提交
    
    $ git diff file
    # 用于查看仓库中的文件和工作去的文件的修改之处
    $ git log
    #通过这个命令可以看到从当前版本往前的所有的提交记录,每次提交都会有自己的一个特有的密钥序列,用于区分
    
    $ git reset --hard HEAD^
    #表示将版本回退到最新版本的上一个版本
    #HEAD指代的仓库中的最新版本,他像极了一个数组中的指针,初始状态是指#向了最上方(最新的版本)^指代了上一个,可以^^^进行叠加,相当于对
    #指针进行了移动操作,如果要回到更早的版本则可以使用HEAD~100,执行了
    #这个操作后最新版本就是当前的内容
    
    $ git reset --hard 1094a
    #表示回退到指定的一个版本,最后的数字字母是简写的密钥的一段序列
    
    $ git reflog
    #这个是用于查找显示head移动的历史,通过这个方法可以找到消失的版本的密钥

    7.Git的总体理解

    git主要框架有三个区,分别为工作区,暂存区,和仓库,

    工作区:所有的项目文件

    暂存区:在.git目录中,是使用 git add后但未提交的文件存放的地方

    仓库:在.git目录中,文件提交后存储的地方.

    版本追踪:其实就是一个数组,每个版本都是一个元素,而每个元素的下标是每个版本特有的密钥序列,通过Head指针可以选中数组中任何的一个元素,来作为当前最新的版本(刷新了工作区的文件)

    8.撤销修改

    a.工作去的撤销
    $ git checkout -- readme.txt
    #这段命令的含义是把工作区readme.txt再工作去的修改全部撤销。这里存在两种情况
    #1.readme.txt还没有放到暂存区,此时就是修改到和版本库一摸一样的状态
    #2.readme.txt在暂存区中,没有提交,且在工作去作了修改,此时就是回到和暂存区一样的状态
    b.暂存区的修改
    $ git reset HEAD <file>
    #把暂存区的修改撤销掉 HEAD表示最新的版本

    9.删除文件

    当一个文件在工作区里删去了之后,有两个方法来进行同步。

    1. 从版本库中删除该文件

    $ git rm test.txt
    
    $ git commit -m "remove test.txt"

    2.文件错误的删除,从版本库中回复

    git checkout -- test.txt

    从这里可以看出,当工作区的进行了一些操作后,需要在版本库中同时在提交一次操作,知识文件的修改可以通过文件的提交来直接更新你的操作。

    同时git checkout的功能是首先从暂存区更新你的工作去,如果暂存区没有文件,则通过最新版本库进行更新

    10.GitHub的使用

     第一步 创建SSH Key

    在用户主目录下是否有.ssh目录,没有就在主目录下执行

    $ ssh-keygen -t rsa -C "youremail@example.com"

    .ssh下有id_rsa 和id_rsa.pub两个文件,将id_rsa.pub中的内容,复制到github的 账户ssh Key中,每一条电脑都可以产生一个ssh key,添加之后就可以在不同的电脑上进行提交了。

    github目前的作用是你自己有一个本地的版本库,github仅仅作为自己的仓库备份以及供他人下载参考使用

    第二部 github创建空版本库

    创建了空的版本库后根据github的提示进行操作

    $ git remote add origin https://github.com/wolfgold/AIConvolution.git
    #这个在使用的时候需要在github上进行个人权的设置,否则没有权限进行上传修改如下图
    #还可以使用
    $ git remote add origin git@github.comn:wolfgold/AIConvolution.git
    $ git push -u origin master

    把本地库的内容推送到远程,用git push命令,实际上是把当前分支master推送到远程。

    由于远程库是空的,我们第一次推送master分支时,加上了-u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令。

    把本地库的内容推送到远程,用git push命令,实际上是把当前分支master推送到远程。

    由于远程库是空的,我们第一次推送master分支时,加上了-u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令。

    推送成功后,可以立刻在GitHub页面中看到远程库的内容已经和本地一模一样:

    从现在起,只要本地作了提交,就可以通过命令:

    $ git push origin master


    11.文件过大问题

    文件过大问题存在两个方面

    1.上传文件的总量过大,唱过默认的缓存值

    $ git config http.postBuffer 524288000
    #增加缓存控件到500M
    #或者编辑.git目录下的config 
    #[http]
    #    postbuffer=524288000

    2.上传的单个文件超过50M。(未完待续)

  • 相关阅读:
    Vue-cli3 项目配置 Vue.config.js( 代替vue-cli2 build config)
    vue-cli 3 脚手架搭建(create)
    动态设置微信小程序 navigationBarTitle 的值
    微信小程序 获取cookie 以及设置 cookie
    微信小程序 scroll-view 左右横向滑动没有效果(无法滑动)问题
    JavaScript.Array.some() 方法用法
    vue 路由传参中刷新页面参数丢失 及传参的几种方式?
    vue $router.push 传参的问题
    将博客搬至CSDN
    再见,2020
  • 原文地址:https://www.cnblogs.com/bookdrip/p/9931500.html
Copyright © 2020-2023  润新知