• GIT的基本使用及应用场景


      一、什么是GIT?

      Git 是一个开源的分布式版本控制软件,用以有效、高速的处理从很小到非常大的项目版本管理。

      GitHub、GitCafe、BitBucket和GitLab等是基于Git版本控制的远程文件托管平台。

      使用场景:

    • 无远程:在本地 .git 文件夹内维护历时文件
    • 有远程:在本地 .git 文件夹内维护历时文件,同时也将历时文件托管在远程仓库

      PS: 
          集中式:远程服务器保存所有版本,用户客户端有某个版本
          分布式:远程服务器保存所有版本,用户客户端有所有版本

      二、安装GIT

      参见:http://git-scm.com/

      PS: 注册GitHub、GitCafe、BitBucket和GitLab等账户,以便于将文件托管在远程。

      三、GIT的相关命令

    git init   初始化  生成 .git 文件,用于保存git相关所有信息,如:每个版本
    
    git status  查看状态
    
    git add 文件名或.    '.'表示工作区被修改的所有内容    添加到暂存区。
    
    git commit -m '对修改内容的描述信息'     从暂存区提交到分支。
    
    配置用户信息:
    git config --local user.name '用户名' 
    
    git config --local user.email '邮箱地址'
    
    git ls-tree head   查看版本中所有文件
    
    git ls-files -s     查看暂存区和分支中所有文件
    
    git log   查看已生效的操作日志
    
    git reflog  查看所有日志
    
    git reset --hard  后接log里的指定随机字符串    回滚到指定位置
    
    git reset --mix 后接reflog日志里开头的前7位    再回滚到之前指定的位置
    
    git checkout 文件名   切换到指定文件
    
    git stash    将当前已经做过的修改,保存到一个临时地方
    
    git stash pop      临时地方内容重新放回工作区,恢复并删除最近一次保存的内容
        出现冲突,手动解决:
    """
            <<<<<<< Updated upstream
        之前的代码1
            之前的代码2
        =======
        之前的代码1
            之前的代码2
        开发直播功能到一半
            >>>>>>> Stashed changes
            手动解决结果:
    
            之前的代码1
            之前的代码2
        开发直播功能到一半
    
    """                            
    git stash apply ‘名称’  恢复指定名称的内容
    
    git stash drop  ‘名称’   删除指定名称的内容
    
    git stash list   查看所有临时空间里的所有内容
    
    git stash clean  清空临时空间里的全部内容
    
    master:只保留线上版本
    
    dev:   保存所有开发版本
    
    git branch dev   创建分支(会copy当前分支,注意当前分支的位置)
    
    git checkout dev  进入dev分支
    
    git checkout master   切换到master分支
    
    git merge dev   合并dev分支,注意必须在master分支上合并
    
    git branch -d dev   删除dev分支
    GIT 常用命令
    git remote add origin https://github.com/xxx/xxx.git   添加远程连接并取别名 origin
    
    git push origin master   将本地master分支推送至远程仓库
    
    git clone https://github.com/xxx/xxx.git   从远程仓库克隆到本地目录
    里面有config文件,自动配置连接地址
    
    git branch dev origin/dev   克隆后只有master分支,同步其他分支
    
    git fetch origin dev   从远程仓库获取最新内容到本地dev分支
    
    git pull origin dev  从远程仓库获取最新内容到本地dev分支的工作区里的原内容区   “劲儿大”
    GitHub 常用命令

      详情见图:

    分支合并

    命令详解

       四、fork

      fork,就是别人有一个开源项目,你发现里面有bug,可以fork别人的项目,进行修改。说直白一点,就是可以克隆一份到本地。

      当你下载到本地,进行修改完成以后,你push到你自己的GitHub,然后你希望这个项目的开发者,采纳你修复的bug。你可以通过new pull request这个按钮向开发者发送你的描述信息。开发者认同你的代码的话,就有可能合并你的代码了。

      五、应用场景

       开发新功能共有两种方式:

    • stash
    • 分布式

      未完待续...

      六、其他

      1、关于登录

      在连接GitHub的时候,是需要登录的,登录验证有两种方式:一、https://xxx.com 通过用户名和密码的方式;二、通过SSH连接,我们在git命令行利用ssh-keygen.exe来生成公钥和私钥,公钥放在id_rsa.pub里面。拷贝里面的字符串,放在GitHub上个人设置里面有SSH and GPG keys里给设置上就齐活了。下次只要是SSH连接就不用管登录验证的问题了,公钥和私钥会自动匹配验证。

      2、忽略文件

      我们知道pycharm在生成新的project的时候,都会生成一个.pyc后缀结尾的文件,而这个文件基本上没什么用,所以,我们在文件上传的时候,就可以过滤掉一些没用的文件,怎么过滤呢,我们在git命令行vim .gitignore 进入后,在这个里面添加上我们需要过滤掉的文件名,如:*.pyc   a.py 等,这样在执行git status的时候,就会自动过滤掉文件里匹配的相关文件了。再文件上传的时候,就不会上传上去了,就完成了忽略文件的作用。

      友情链接:请猛戳这里

  • 相关阅读:
    JDBC的使用流程
    typescript vscode /bin/sh: ts-node: command not found
    小程序打开app场景
    设置获取cookie,setCookie,getCookie
    解决IOS微信页面回退不刷新问题
    百度小程序添加编译
    百度小程序审核不通过,基础库问题
    Charles Mac 破解安装和证书安装成功抓包单个域名是unknown
    xhrFields实现跨域访问
    Mac上启动nginx报错:nginx: [emerg] bind() to 0.0.0.0:80 failed (48: Address already in use)
  • 原文地址:https://www.cnblogs.com/Michael--chen/p/7301256.html
Copyright © 2020-2023  润新知