zoukankan      html  css  js  c++  java
  • 版本控制器:Git

    版本控制器:Git

    # 达到多人协同开发的目的

    安装

    """
    1.下载对应版本:https://git-scm.com/download
    2.安装git:在选取安装路径的下一步选取 Use a TrueType font in all console windows 选项
            -- 安装成功后桌面右键可以看到git菜单
    """

    工作流程图

    搭建本地git仓库

    将已有的文件夹作为git仓库
    """
    >: cd 目标文件夹内部
    >: git init
    """
    在指定目录下创建git仓库
    """
    >: cd 目标目录
    >: git init 仓库名
    """

    配置操作git的用户信息

    当前仓库:局部
    """
    >: git config user.name '用户名'
        -- 用户名
    >: git config user.email '用户邮箱'
        -- 用户邮箱
        
    注:在当前仓库下的config新建用户信息,只能在当前仓库下使用
    """
    所有仓库:全局
    """
    >: git config --global user.name '用户名'
    >: git config --global user.email '用户邮箱'
    
    注:在全局文件 C:Users用户文件夹.gitconfig新建用户信息,在所有仓库下都可以使用
    """

    常用指令

    查看仓库状态
    """
    # 当仓库中有文件增加、删除、修改,都可以在仓库状态中查看
    >: git status  
        -- 查看仓库状态
    >: git status -s  
        -- 查看仓库状态的简约显示
    """
    工作区操作
    # 通过任何方式完成的文件删与改
    # 空文件夹不会被git记录
    
    撤销工作区操作:改、删
    """
    >: git checkout .
        -- 撤销所有暂存区的提交
    >: git checkout 文件名
        -- 撤销某一文件的暂存区提交
    """
    工作区内容提交到暂存区
    """
    >: git add .  
        -- 添加项目中所有文件
    >: git add 文件名  
        -- 添加指定文件
    """
    撤销暂存区提交:add的逆运算
    """
    >: git reset HEAD .
        -- 撤销所有暂存区的提交
    >: git reset 文件名
        -- 撤销某一文件的暂存区提交
    """
    提交暂存区内容到版本库
    # git commit -m "版本描述信息"
    
    撤销版本库提交:commit的逆运算
    """
    回滚暂存区已经提交到版本库的操作:
        查看历史版本:
            >: 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
    """

    过滤文件

    # .gitignore 文件
    # 1)在仓库根目录下创建该文件
    # 2)文件与文件夹均可以被过滤
    # 3)文件过滤语法
    
    """ 过滤文件内容
    文件或文件夹名:代表所有目录下的文件或文件夹都被过滤
    /文件或文件夹名:代表仓库根目录下的文件或文件夹被过滤
    目录/文件或文件夹名:代表特定目录下的文件或文件夹被过滤
    """

    git vs svn

    # 1、git是分布式的,每一个客户端均可以作为服务器为其他客户端提供代码
    # 2、git有强大的分支管理机制,可以在子分支上开发,将最终的成果同步到主分支即可

    ----------------------------------------------------------------------------------------------------------------

    svn

    一个服务端对应多个客户端,代码全部上传到服务端,协同开发,不好的是如果服务端挂了,那就挂了。重启可恢复。
    git 不同,git可以将每一个客户端做为服务器。
    

    Git 工作流程

    下载:https://git-scm.com/download
    
    1.从远程仓库中克隆(clone)Git资源作为本地仓库
    2.从本地仓库中checkout代码到工作区,然后进行代码修改
      --如果本地有已经在修改的项目了(同步远程仓库代码):pill(从远程拉到工作区)
      
    3.在提交前先将代码提交add到暂存区
    4.提交修改,commit 提交到本地仓库。本地仓库中保存修改的各个历史版本
    5.在修改完成之后,需要和团队成员共享代码时,可以将代码push到远程仓库
    
    

    使用

     图形化界面:
         鼠标点的方式操作
         有很多不需要上传的文件,可右键删除并添加到忽略列表(递归忽略文件或目录/放在文件夹所在的目录)
         忽略文件:本质就是创建一个 .gitignore 
    
         pycharm设置里version Control下的git
         将git安装路径下bin里的git.exe 文件放到Path Git executable里
         
         连接远程仓库:     GitHub  码云  gitLab(自己搭建)
         
             -现在我们已经在本地创建了一个Git仓库,想让其他人协同开发
             -首先得有GitHub的账号,然后在GitHub上创建一个仓库
             -登录有右上角头像旁边的'+'号,New repository
             -GitHub有两种同步方式 'https''ssh'
                 -https基本上不需要配置,但每次提交和下载代码都需要输入用户名和密码
                 git remote add origi https://github.com/GitHubbiuwy/test.git
                 push到远程仓库:git push origin master
                 
                 -ssh  需要客户端生成一个秘钥对,把公钥放到GitHub的服务器上 
                 在gitbash中生成密匙对:ssh-keygen -t rsa
                 头像的下拉菜单下的settings里添加公钥
                 # 可视化的设置里的网络下的SSH客户端改为Git目录下的ssh.exe
                 # 远端下的秘钥选个私钥 
                 创建远程仓库: test.git    仓库地址:git@github.com:GitHubbiuwy/test.git
                 
                 在git bash下执行:git remote add origi git@github.com:GitHubbiuwy/test.git
                 push到远程仓库:git push origin master 
                 如果出现错误:fatal:remote origin already exists
                 先执行:git remote origin 再执行上面的命令
     
         如果远程有项目,想克隆下来:
             gti clone https://github.com/GitHubbiuwy/test.git
        bash方式流程:
            git add .  # 当前路径提交到暂存区
            git commit -m '注释'  # 提交到本地仓库,需要注释
            git push origin master  # 提交到远程仓库
        -冲突
            -两人改了同一行代码
            -出现冲突pull的时候,会保留住你的代码和远程的代码
            -解决冲突(和同事商量)
            -在提交到本地
         -分支管理
             git branch  # 查看本地分支
             git branch -r # 查看远程分支
         -新建分支
             git branch 分支名
         -同步到远程
             git push origin lqztest
         -切换到分支
             git checkout 分支名
         -合并代码
             -切换到主分支:git checkout master
             -git merge 分支名
         -删除分支
             -删除本地:git branch -d 分支名
             -删除远程:git push origin --delete <分支名>
    
     			
    在pycharm中使用git
    -先再setting---git上配置git按装的路径
    -从远程拉代码vcs-checkoutform..--git  输入远程的地址---点确定
                
    -再提交代码之前,先要拉代码(在公司中要做的),就可以能有冲突
    -解决冲突
    -push上去就可以了
    -创建分支,切换分支,右下角
    -查看操作日志
    -跟历史版本比较
    -revert 恢复到远程的代码
     
  • 相关阅读:
    nginx nfs服务
    Linux磁盘分区-rpm-yum
    tar命令-vi编辑器-磁盘分区及格式化-软链接及硬链接文件
    Linux命令-权限
    Linux命令基础
    网络基础
    操作系统
    计算机硬件介绍
    Django之CBV和FBV
    ORM之基本操作增删改查
  • 原文地址:https://www.cnblogs.com/python-Arvin/p/11889902.html
Copyright © 2011-2022 走看看