• 实用篇如何使用github(本地、远程)满足基本需求


    一、结构:
        |--工作区
        |--版本库
            |--stage——add,可以每个添加到暂存区
            |--master——commit        一次性提交到版本库

      具体的理论可以参考我的另一篇博客:Git版本控制系统VCS

    二、本地github操作      

    1、安装git
        github官网下载桌面版,会有个git shell,安装就成功了。测试;git
        ubuntu是:sudo apt-get install git
        
        安装完成后,还需要最后一步设置,在命令行输入:
         git config --global user.name "Your Name"
         git config --global user.email "email@example.com"
        
    2、创建版本库
        step1--其实就是创建一个文件夹
            mkdir sunseazhu
            cd sunseazhu
        step2--通过git init命令把这个目录变成Git可以管理的仓库
            git init
        step3--创建一个readme文件,内容如下,并拷贝到该仓库中
            Hello git,welcome!
        step4--用命令git add告诉Git,把文件添加到仓库:
            git add readme.txt
        step5--用命令git commit告诉Git,把文件提交到仓库:
            git commit -m "wrote a readme file"

    3、查看当前的仓库状态
        仓库分支情况、提交情况等。
        1)git status
            显示:On branch master
                        nothing to commit, working directory clean
            修改一下readme内容,再执行git status显示
                        
        2)git diff
            告诉你修改后的内容和之前的差异
        3)git add readme
            git commit -m "edit it one"

    4、版本回退相关操作
        1)git log:查看当前git操作的日志,就是git commit -m "anotation"
            git log --pretty=oneline:只显示一行,前面乱七八糟的id号
        2)git reset --hard HEAD^
            在Git中,用HEAD表示当前版本,也就是最新的提交d33a…aed95,上一个版本就是HEAD^,上上一个版本就是HEAD^^,当然往上100个版本写100个^比较容易数不过来,所以写成HEAD~100。
        3)上面回到了以前的版本,如何回来
            (1)只要前面的commit id还能看到,就可以直接写前面几个数字就行了
                git reset --hard d33a
            (2)git reflog 可以查看之前的commit id
    5、关于修改的问题
        1)第一次修改 -> git add -> 第二次修改 -> git commit
            git commit只提交添加到暂存区的文件,而与工作区的没关系,故会存在多次修改后只提交第一次修改的情况。
            git diff HEAD -- readme.txt:查看工作区的和版本仓库中的不同
        2)git checkout -- readme.txt
            修改过的文件,不想要了,可以撤销命令git checkout -- readme.txt意思就是,把readme.txt文件在工作区的修改全部撤销
            若修改的文件没放到暂存区则撤销到版本库的状态,否则暂存区的状态
        3)git reset HEAD readme.txt
            此时想把暂存区的文件修改撤掉。
                
    6、删除文件
        rm test.txt
        这时候工作区中的文件就和版本库中的不同了,git status可以查看。两种选择。
        1)确实从版本库中删除该文件,那就用命令git rm删掉,并且git commit
            git rm test.txt
            git commit -m "remove test.txt"
        2)另一种情况是删错了,可以很轻松地把误删的文件恢复到最新版本.
            git checkout -- test.txt
        注:此时知道git checkout其实是用版本库里的版本替换工作区的版本,无论工作区是修改还是删除,都可以“一键还原”。
        
        至此,本地版本库基本操作完成,下面介绍远程仓库

    三、远程github操作

    1、在GitHub中创建一个仓库learngit
    2、git remote add origin git@github.com:sunseazhu/learngit.git
        添加后,远程库的名字就是origin,相当于给learngit起了个别名,这是Git默认的叫法,也可以改成别的。
    3、把本地库的所有内容推送到远程库上
        git push -u origin master
        由于远程库是空的,我们第一次推送master分支时,加上了-u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令。
        从现在起,只要本地作了提交,就可以通过命令:
        git push origin master
    4、从远程库中克隆
        git clone git@github.com:michaelliao/gitskills.git

    参考博客: 1、廖雪峰的官方博客——使用GitHub

          2、易百Git教程

  • 相关阅读:
    单元化架构 定义问题
    STGW 下一代互联网标准传输协议QUIC大规模运营之路 wentaomao 腾讯技术工程 2021-02-01
    string
    进程管理工具 源码分析
    etcd 鉴权体系架构由控制面和数据面组成。
    HTTP/2 是基于二进制而不是文本
    分布式 ID 解决方案
    减少重复开发,GraphQL在低代码平台如何落地? 原创 随刻信息流团队 爱奇艺技术产品团队 2021-01-29
    设计模式混编:观察者模式+中介者模式
    mysql 语法总结
  • 原文地址:https://www.cnblogs.com/xiangyangzhu/p/GitHubfundament.html
Copyright © 2020-2023  润新知