zoukankan      html  css  js  c++  java
  • day-88Git

    Git(版本控制器)

    版本控制器:

      可以管理编写的代码的仓库(文件夹),可以记录对仓库中所有被监测文件的任意操作

    目的:

      方便程序员完成代码整合,完成协同开发

    特点:

      分布式集群,多分支管理

     svn与git区别图:

    多分支图:

    Git工作流程图

    安装Git

    1.下载对应版本:https://git-scm.com/download
    2.安装git:在选取安装路径的下一步选取 Use a TrueType font in all console windows 选项

    Git的使用

    1.搭建本地git仓库
    
        将已有的文件夹作为git仓库
            >: cd 目标文件夹内部
            >: git init
    
    
        在指定目录下创建git仓库
            >: cd 目标目录
            >: git init 仓库名
    
    
    
    2.配置操作git的用户信息(明确谁提交的,有局部的优先采用局部的,其次是全局的)
    
        当前仓库:局部  
            >: git config user.name '用户名'
                -- 用户名
            >: git config user.email '用户邮箱'
                -- 用户邮箱
    
    
        所有仓库:全局        
            >: git config --global user.name '用户名'
            >: git config --global user.email '用户邮箱'
    
    
    3.常用指令
    
        a.查看仓库状态
            当仓库中有文件增加、删除、修改,都可以在仓库状态中查看
                >: git status  
                    -- 查看仓库状态
                >: git status -s  
                    -- 查看仓库状态的简约显示
    
    
        b.工作区操作( 空文件夹不会被git记录)
            撤销工作区操作:改、删                                        
            >: git checkout .
                -- 文件全部回滚,如改、删除操作,回滚的状态以版本库为基准
            >: git checkout 文件名
                -- 指定文件回滚
    
    
        c.工作区内容提交到暂存区
            >: git add .  
                -- 添加项目中所有文件
            >: git add 文件名  
                -- 添加指定文件
    
    
        d.撤销往暂存区提交:add操作状态的撤销(回到工作区)
            >: git reset HEAD .
                -- 撤销所有暂存区的提交
            >: git reset 文件名
                -- 撤销某一文件的暂存区提交
    
    
        e.提交暂存区内容到版本库
            git commit -m "版本描述信息"
    
    
        f.撤销版本库提交:版本库的回滚
            查看历史版本:
                >: git log
                >: git reflog
                
            查看时间点之前|之后的日志:
                >: git log --after 2018-6-1
                >: git log --before 2018-6-1
                >: git reflog --after 2018-6-1
                >: git reflog --before 2018-6-1
                
            查看指定开发者日志
                >: git log --author author_name
                >: git reflog --author author_name
                
            回滚到指定版本:
                回滚到上一个版本:
                    >: git reset --hard HEAD^
                    >: git reset --hard HEAD~1
                回滚到上三个版本:
                    >: git reset --hard HEAD^^^
                    >: git reset --hard HEAD~3
                回滚到指定版本号的版本:
                    >: git reset --hard 版本号
                    >: eg: git reset --hard 35cb292

    过滤文件(版本库还没创建就要创建过滤文件,并且过滤文件不需要过滤)

    1.在仓库根目录下创建.gitignore.隐藏文件
    2.文件与文件夹均可以被过滤
    3.文件过滤语法
      文件或文件夹名:代表所有目录下的文件或文件夹都被过滤
      /文件或文件夹名:代表仓库根目录下的文件或文件夹被过滤
      目录/文件或文件夹名:代表特定目录下的文件或文件夹被过滤
      *可以出现在任何位置,代表模糊匹配

    Git线上操作

    创建项目:

    git本地与云仓库同步

    采用 https协议 或 ssh协议 与远程git仓库通信提交提交代码(一般都是项目负责人完成)
        1. https协议方式,无需配置,但是每次提交都有验证码云账号密码
            git remote add origin https://gitee.com/doctor_owen/luffy1.git      # 配置远程源
            git push -u origin master                                              # 提交本地仓库到远程源
        
        2. ssh协议,需要配置,配置完成之后就可以正常提交代码
            git remote add origin git@gitee.com:doctor_owen/luffy1.git          # 配置远程源
            git push -u origin master                                              # 提交本地仓库到远程源
        
        3.origin远程源的源名,可以自定义,后面跟地址;master是分支名,是默认的主分支
        
        4.查看源及源链接信息
            git remote
            git remote -v
            
          删除源链接
            git remote remove 源名字 

     GIt本地分支操作

    1.创建分支(在主分支创建分支,版本库会拷贝相同的数据给分支,但不同分支文件是相互独立的,也就是操作文件不相互影响)
        git branch 分支名
    
    2.查看分支
        git branch
    
    3.切换分支
        git checkout 分支名
    
    4.创建并切换到分支
        git checkout -b 分支名
    
    5.删除分支
        git branch -d 分支名
    
    6.查看远程源分支
        git branch -a

    注:相同的分支只能往相同的分支提交,但拉取不受限制,

      当本机提交一个分支给云仓库,云仓库没有这个分支时会自动创建这个分支

     开发者加入Git项目组

    1.生成本机的SSH公钥
        ssh-keygen -t rsa -C "owen@163.com"
    
    2.添加开发者提供的公钥到个人公钥,并拷贝远程仓库SSH地址
        SSH地址:git@gitee.com:doctor_owen/luffy.git
    
    
    3.在本机任意合适位置clone远程仓库到本地(分支和远程源都会拷贝下来)
        git clone git@gitee.com:doctor_owen/luffy.git
    
    4.进入本地项目仓库进行开发,可以查看远程源信息
        >: cd luffy
        >: git remote -v
    
    
    5.开发过程中要提交新功能时,一定要遵循先拉取(pull),在提交(push)
        1)提交新功能
            >: git add .
            >: git commit -m '提交新功能的信息说明'
        2)拉取远程仓库(不管本地是否已经和远程同步,每一次提交前都必须拉取)
            >: git pull 源名 分支名
        3)提交到远程仓库
            >:git push origin master
      

    注:下拉出现#注释,输入:q退出即可

      退出后不会出现already提示,需要再次下拉,出现already在进行上传,

      原因是下拉数据中有一些新增的数据,需要注释

    冲突解决

    出现的问题: 

      下拉的时候报错,原因是版本不同但操作了同一个文件

         解决办法:

          删除文件中的报错信息,协商后,保存到本地版本库,在下拉最后提交

     

    xadmin

    1.安装:luffy虚拟环境下
    
        pip install https://codeload.github.com/sshwsfc/xadmin/zip/django2
    
    
    2.注册app:dev.py
    
        INSTALLED_APPS = [
         
            # xamin主体模块
            'xadmin',
            # 渲染表格模块
            'crispy_forms',
            # 为模型通过版本控制,可以回滚数据
            'reversion',
        ]
    
    
    3.设置主路由替换掉admin:主urls.py
        # xadmin的依赖
        import xadmin
        xadmin.autodiscover()
    
        # xversion模块自动注册需要版本控制的 Model
        from xadmin.plugins import xversion
        xversion.register_models()
    
        urlpatterns = [
          
            path(r'xadmin/', xadmin.site.urls),
        ]
        
    4.xadmin:需要自己的数据库模型类,完成数据库迁移
    
        python manage.py migrate
    
    
    5.完成xadmin模型表的注册与自定义xadmin主题:新建home/adminx.py
    
        import xadmin
        from . import models
        xadmin.site.register(models.Banner)
    
    
        from xadmin import views
        class GlobalSettings(object):
            """xadmin的全局配置"""
            site_title = "路飞学城"            # 设置站点标题
            site_footer = "路飞学城有限公司"  # 设置站点的页脚
            menu_style = "accordion"            # 设置菜单折叠
        xadmin.site.register(views.CommAdminView, GlobalSettings)
    
    
    6.xadmin页面自定义组件显示效果
    
        # home/__init__.py
        default_app_config = "home.apps.HomeConfig"
    
        # home/apps.py
        from django.apps import AppConfig
        class HomeConfig(AppConfig):
            name = 'home'
            verbose_name = '我的首页'

     

  • 相关阅读:
    4d
    加载数据
    刘亮给的帮助
    加载数据
    选中并高亮显示
    ArcEngine
    接口编程
    好的参考文献
    在本地安装 wordpress
    C#读取EXCEL数据
  • 原文地址:https://www.cnblogs.com/klw1/p/11397250.html
Copyright © 2011-2022 走看看