[github|basic] github学习记录

作者: drlee_fc74 | 来源:发表于2019-11-03 18:12 被阅读0次

    github学习手册

    1. 使用github前的准备
      1.1 软件安装
      1.2 注册github用户
      1.3 初始化操作:
      1.4 设置SSH Key
    2. 本地git操作
      2.1 基本操作
      2.1.1 git init
      2.1.2 git status 查看版本状态
      2.1.2 git add 添加文件到缓冲区
      2.1.3 git commit提交版本变更
      2.1.4 git log 查看提交日志
      2.1.5 git diff 查看新文件和旧文件的区别
      2.2 分支操作
      2.2.1 git branch 显示所有的分支
      2.2.2 git checkout 切换分支
      2.2.3 git checkout -b 创建并切换分支
      2.2.4 git merge 合并不同分支的文件
      2.3 版本切换
      2.3.1 git reflog 操作记录
      2.3.2 git reset --hard 版本回退
      2.4 撤销修改
      2.4.1 工作区撤销
      2.4.2 缓冲区撤销
      2.4.3 库的撤销
    3. 连接到github
      3.1 连接之前的操作
      3.2 git remote add 连接远程仓库
      3.3 git push 推送至远程仓库
      3.4 git clone 从远程仓库获取

    之前断断续续的学过一些github的操作。但是由于那个时候观念和理解层面上觉得用不上,所以学完也就没用,最近刚刚觉得是要用倒github了。所以就把之前的只是重新补了一下。

    这次的学习总结内容是基于《github入门和实践》来的

    1.使用github前的准备

    1.1 软件安装

    在使用github之前,我们需要安装必要的软件。对于mac用户而言,系统已经预载了github,所以不需要安装,直接在命令行使用即可。对于windows用户而言,则是需要按照gitbash。通过安装gitbash才能进行操作

    1.2 注册github用户

    我们需要登陆github主页注册一个自己的账号。

    1.3 初始化操作:

    在第一次使用之前,我们需要进行初始化操作。简单而言就是来设置自己在git的账号信息。

    git config --global user.name "github username"
    git config --global user.email "github email"
    

    为了增加操作的可视化,我们可以添加一个命令来增加颜色的分辨度:

    git config --global color.ui auto
    

    这样就可以在操作的时候增加自动的颜色分辨了。

    1.4 设置SSH Key

    SSH Key可以理解为是一个对于我们电脑身份的认证。通过认证只有我们这台电脑上推送的代码才能在github账号上进行修改和保存。我们需要通过几步来或者SSH Key

    1. 在自己的电脑上创建一个SSH Key
    ssh-keygen -t rsa -C "your email"
    
    image.png

    通过这样的操作之后,我们会生成两个密匙,其中id_rsa 文件是私有密钥,id_rsa.pub 是公开密钥。

    1. 查看公开密匙。

    在添加之前我们需要先知道密匙是什么。通过

    cat ~/.ssh/id_rsa.pub
    

    我们可以查看我们的密匙。

    1. 添加密匙

    知道了自己的密匙之后,我们需要把密匙添加到github账号上。我们需要点击setting——SSH and GPG Keys来添加自己的SSH key

    image.png

    其中的时候,Title是自己的命名,Key是刚才查看的那段密匙。

    1. 验证添加成功与否。
    ssh -T git@github.com
    

    在输入密码后得到:

    Hi XXX! You've successfully authenticated, but GitHub does not provide shell access.说明添加成功。

    2. 本地git操作

    2.1 基本操作

    github的基本操作主要就是三板斧。除了一个第一次创建库需要用到的。剩下的分别就是添加提交查看状态

    2.1.1 git init

    我们第一次添加一个项目的时候,都需要在初始化一个git项目。这个其实就是我们创建一个本地的文件夹,同时呢,创建一个用来管理这个文件夹的git程序。

    mkdir test; cd test
    git init
    

    这个操作,其实就是创建了一个git的隐藏文件夹。我们之后所有的版本管理都是在这个文件夹下面进行保存的

    image.png

    2.1.2 git status 查看版本状态

    我们在每次在版本变换的时候,都可以使用git status的时候查看状态

    git status
    

    我们主要的可以看到,我们在哪个分支上,已经目前文件的状态怎么样

    image.png

    2.1.2 git add 添加文件到缓冲区

    我们在进行文件修改之后,需要把文件先添加到缓冲区,这个时候就需要通过git add命令来操作。

    touch test # 创建一个test文件
    git add test #添加readme.txt文件到缓冲区
    git status #查看添加之后的状态
    
    image.png

    2.1.3 git commit提交版本变更

    通过git add我们只是把文件放到了缓冲区,但是还没有彻底提交到git的分支上。所以我们需用通过git commit来提交。同时通过参数-m可以添加一句简短的总结

    git commit -m "new test" #提交版本同时备注
    
    image.png

    2.1.4 git log 查看提交日志

    通过git log可以查看提交版本当中的日志变化。

    git log 
    
    image.png

    这个版本显示的是详细信息,如果我们想要查看简单的信息的话,可以添加--pretty=short参数

    git log --pretty=short
    
    image.png

    -graph参数可以通过图形的样式来显示版本的变更。

    git log --graph
    
    image.png

    2.1.5 git diff 查看新文件和旧文件的区别

    我们在进行文件修改之后的话,有时候想要查看两个文件之间的区别。这个时候就可以使用git diff。需要注意的是,git diff只能查看类似文本文件的差异。如果是office这种的。由于本身是二进制文件。所以没办法查看他们的区别。如果是使用sourcetree这样的客户端的话,则可以通过使用beyong compare来比较。

    我们文件当中添加了# git教程之后进行比较

    image.png

    2.2 分支操作

    我们在协同工作的时候,需要进行分支操作。这个是时候就需要创造多个分支的进行操作。

    2.2.1 git branch 显示所有的分支

    git branch可以显示当前所有的可用的分支。同时加*的代表当前所在的分支。git默认的主分支是master

    git branch
    
    image.png

    如果在这个代码的后面加一个命名,就代表创建了一个新的分支。但是没有切换

    git branch fix-b
    
    image.png

    2.2.2 git checkout 切换分支

    如果我们有多个分支的时候,可以通过git checkout来切换分支。这里我们切换到master分支。

    git checkout master
    
    image.png

    这里我们可以使用-符号来快速的切换到上一个分支。

    git checkout -
    
    image.png

    2.2.3 git checkout -b 创建并切换分支

    通过以上的命令,可以快速的创建分支,并且可以转到这个分支上。

    git checkout -b fix-c
    
    image.png

    2.2.4 git merge 合并不同分支的文件

    当我们在一个分支上进行操作的时候,然后我们想要合并到主分支的时候,就需要通过git merge来进行操作。我们先用fix-c修改test文件为下图.

    image.png

    现在通过合并文件到主分支上。

    git checkout master #切换到主分支
    git merger --no-ff fix-c ##合并fix-c的修改
    
    image.png

    如果没有需要添加的可以关闭编辑器即可。然后会显示。具体合并后的修改。

    image.png

    2.3 版本切换

    2.3.1 git reflog 操作记录

    git log可以查看提交版本的操作记录。而git reflog则可以查看我们每一步操作git的记录。

    git reflog
    
    image.png

    2.3.2 git reset --hard 版本回退

    我们有时候在修改版本之后还想要返回到之前的某一个版本。这个时候就可以通过版本回退的功能来进行操作。git reset —hard后面跟具体的版本号来进行版本的转换。版本号可以是git log当中看到的版本好的全程,也可以是git reflog当中看到的版本号的前几位。

    git reset --hard 138282fe55d5284d050bcf9e81741e8b2b8927de ## 等价于
    git reset --hard 138282f
    

    如果我们知道想要回到之前的第几个版本的话,那我们就可以通过HEAD ^来进行快速的版本回退。

    git reset --hard HEAD^ #回退一个版本
    git reset --hard HEAD^^ #回退两个版本
    git reset --hard HEAD^100 #回退100个版本
    

    2.4 撤销修改

    有时候我们进行的修改保存之后想要撤销。由于使用git之后分成了三个区域:工作区;缓冲区;库.所以不同的撤销修改都对应了不同的方式。

    2.4.1 工作区撤销

    工作区域的撤销,我们可以通过git checkout -- 文件名操作。

    image.png

    2.4.2 缓冲区撤销

    缓冲区的撤销,是把缓冲区的文件撤销了。但是工作区的文件还是修改的。所以如果还要撤销工作区的文件则需要还进行上面的操作。我们使用git reset HEAD file来对缓冲区文件进行修改。

    image.png

    2.4.3 库的撤销

    如果我们已经把文件提交到库里面了。这个时候,其实只要通过版本回退即可。

    3. 连接到github

    3.1 连接之前的操作

    我们在进行本地库和github库连接之前需要做的是,在github上创建一个新的项目。创建的项目的名字最好和本地库的名字相同。创建的时候最好不用勾选Initialize this repository with a README的选项。因为一旦勾选该选项,GitHub 一侧的仓库就会自动生成 README 文件,从创建之初便与本地仓库失去了整合性。虽然到时也可以强制覆盖,但为防止这一情况发生还是建议不要勾选该选项,直接点击 Create repository 创建仓库。

    image.png

    3.2 git remote add 连接远程仓库

    通过git remote add 仓库路径可以把本地数据库和远程数据库进行连接

    git remote add origin git@github.com:用户名/仓库名.git
    

    3.3 git push 推送至远程仓库

    通过git push 分支名我们可以把当前分支的内容推送到远程库上。

    git push -u origin master ## 推送master分支的库
    

    -u参数可以在推送的同时,将 origin 仓库的 master 分支设置为本地仓库当前分支的 upstream(上游)。添加了这个参数,将来运行 git pull命令从远程仓库获取内容时,本地仓库的这个分支就可以直接从 origin 的 master 分支获取内容,省去了另外添加参数的麻烦。

    3.4 git clone 从远程仓库获取

    执行git clone命令后我们会默认处于master分支下,同时系统会自动将 origin 设置成该远程仓库的标识符。也就是说,当前本地仓库的 master 分支与 GitHub 端远程仓库(origin)的 master 分支在内容上是完全相同的。

    git clone git@github.com:用户名/项目名.git
    

    相关文章

      网友评论

        本文标题:[github|basic] github学习记录

        本文链接:https://www.haomeiwen.com/subject/baflbctx.html