• Git 版本管理工具


      

    https://www.cnblogs.com/wupeiqi/p/7295372.html  武 

    https://blog.csdn.net/yy2017220302028/article/details/103992812/   网友简洁版

    集中式的版本工具SVN

    分布式的版本工具Git

    一、

    1下载安装git 软件

    2、指定一个文件夹  在这个文件夹右键选择git bash here  

     3、输入 git init   初始化本地的代码仓库

    4、git status 查看当前仓库状态 有哪些文件

    5、如何管理文件?

      git config --global user.name ‘xx'    指定用户名称

      git config --global user.email 'xxx.com'   指定邮箱

      1git add xx文件名称   管理该文件  (文件变绿)

      2、git commit -m '描述'V1    提交版本

      3、查看版本 git log   查看版本

      

      我加新功能了(文件发生变化了)
      然后:  

          git  status  查看状态  发现文件变红了 显示modified 状态 

          git add .   把当前文件夹所有文件都提交管理(从工作区提交到缓存区)  

          git status 发现文件变绿了

          git commit -m '描述V2' (缓存区提交到版本库)

          git log 查看版本 发现有两个版本(在commit后面黄色字体的字符串是随机版本号)

      

    二、    

    git branch dev    创建一个dev分支  + ====>    git checkout -b dev  创建并切换到dev

    git  checkout dev   选择dev 分支     + ===>

        pwd 查看当前文件 路径

        ls  == dir    查看文件夹下的文件

    工作-提交 -完成,,

    git checkout master    切换到master 分支

    git merge dev  把dev 的内容 合并到现在的master分支

    git checkout dev  

    如果出现了bug 再开一个BUG 分支 

    改完后最后用 git branch -d bug 删除bug 分支、

    网络远程管理代码仓库

      1、注册

      2、+ New repository   起名 + 写描述 + 公开/私有 + 初始化readme  +  本第仓库 新建(.gitignore   里面写上文件名,作用是把写上的文件名忽略)--add .gitignore + add a license (类似声明)

      3、点击creating repository  创建完成

      4、 code  - HTTPS| SHH(远程地址)

        到本地git 输入: git remote add origin https://xxxxxx   给本地厂库添加远程地址

               git push -u origin master       主分支推上去

    到新环境了。。

    远程仓库的代码克隆下来(第一次)

      git clone https://xxxxx

     git banch  发现只有master 分支 其实dev 也有  没显示而已

      直接 git checkout dev  

    然后继续开发。。。开发第一个模块完成

    git status 

    git add. 提交

    git commit -m '开发第一个模块完成' 提交版本

    git checkout master 

    git merge dev    把dev 合并到master
    git push origin dev   把本的dev代码 提交到远程

    git push origin master   把本的master代码 提交到远程

    回家又想写了(仓库比较新)

     git pull origin master   把远程仓库的代码更新本地的代码(拉+合并)

       

    rebase 变基 (本地合并!)

     ---把多个log 合并成一个log 

    git rebase -i 版本号     

      版本号就是那一串随机黄色的长的字符串

      比如有V1 V2 V3 V4   ,我们git rebase -i V2版本号   那么 就是说 V2~V4 合并成 V2 

    也可以: git rebase -i  Head~3   表示合并最后三个版本!

        然后会出现一个界面  pick v2 的  把其他的版本的pick 改成s (差不多等于删除的意思) 然后:wq 保存退出  最后出现写描述的界面 就完事了/

    冲突小软件 beyond compare 

    1、下载 安装  http://www.scootersoftware.com/download.php

    2、配置 

      git config --local merge.tool bc3    # local 代表只对当前项目生效

      git config --local mergetool.path  '/usr/local/bin/bcomp'   # 最后“xx”代表软件的安装路径

      git config --local mergetool.keepBackup false 

    3、冲突的时候使用 git mergetool 打开这个软件

    Git 多人协作开发

      gitflow

    1+new organization

    2组织 名称  +email + 个人(*)/公司账户 + next

    3 跳过成员设置

     4、新建仓库

    5 组织设置 权限之类的 settings

    6添加成员 invite someone

    git 速成!

    一、下载代码篇

    1、如果git 有别人的账号记得删除呀  (不然会提示没有权限啥的)

    win: 凭据管理,找到账户删除.
    mac: 钥匙串,找到账户删除.

    2、获取代码

      在url写入账户和密码

    git clone https://用户名:密码@gitee.com/wupeiqi/s22pro.git

     

     ssh方式

      

    在自己本地生成一对公钥和私钥

      打开 Git Bash,输入 ssh-keygen
      默认在 ~/.ssh/ 下生成 id_rsa(私钥)和id_rsa.pub(公钥)
    - 公钥 - 私钥 把公钥拷贝出来放到github/码云

      复制SSH地址

    最后在 git bash 达到免密效果 :git clone SSHXXX

      

    二、创建虚拟环境篇(针对python 后端把)

      为此项目专门创建一个虚拟环境,以后在此虚拟环境中运行此项目.

    1、在自己电脑上安装virtualenv

    pip3 install virtualenv

    2、创建虚拟环境

    进入自己想要创建的目录
    virtualenv 环境名称

    3、进入虚拟环境

    win: activate

    4、退出虚拟环境

    win:deactivate

      安装软件

    例如:
    (s22pro) D:> pip3 install django

    那pycharm 创建虚拟环境就非常简单的。

     


    5 初始化环境

    pip3 install -r requirements.txt
    requirements.txt放的是各种第三方库:
    appdirs==1.4.3
    backports.functools-lru-cache==1.5
    beautifulsoup4==4.5.3
    bs4==0.0.1
    cycler==0.10.0
    kiwisolver==1.0.1
    lxml==3.7.3
    matplotlib==2.2.0
    numpy==1.14.1
    pandas==0.22.0
    pyparsing==2.2.0
    python-dateutil==2.6.1
    pytz==2018.3
    six==1.11.0
    virtualenv==15.1.0
    requirement.txt

    小伙伴们在写代码的时候可能也需要生成一个requirement文件 

    pip freeze > requirements.txt

    如果遇到有些包在自己电脑上装不上, 一般情况下是由系统导致.
      程序是运行在linux上.
      win是最麻烦 ( 百度搜 )

    三、数据库等设置

    数据非常重要,所以一般在开发时,不会让你连接正式数据.

      正式库

    host:1.1.1.1
    port:xxx
    usre:1
    pwd:2

      测试库

    host:1.1.1.1
    port:xxx
    usre:1
    pwd:2

    修改一点代码,进行数据连接

    四、看代码

    不要企图全部看完.

    • 找程序的入口

      • url

      • main

    if __name__ == '__main__':
        pass
    • 注释 / 变量名 / 函数名

    • 调用关系/返回值

    • 至少看10个请求

    五、运行程序

    在公司的项目中,一定要先找到谁是主文件,去运行它.

     找主文件

    根目录: app.py /  manage.py / start.py 
    bin目录: app.py /  manage.py / start.py 
    script目录: app.py /  manage.py / start.py 

      运行起来

    python 启动文件 
    python 启动文件 参数

    六 、一人开发场景篇

    从公司把最新的拉下来

    git pull master

    至少有两个分支

      master   正式环境
      dev       开发环境

    # 创建分支
    git branch 分支名
    
    # 查看所有分支
    git brach 
    
    # 切换分支
    git checkout dev

    在公司开发代码dev分支

    开发...
    git add .    # 将内容从工作目录添加到暂存区
    git commit -m '提交记录'
    git push origin dev 

    回家加班

    git pull origin dev 
    开发...
    git add . 
    git commit -m '提交记录'
    git push origin dev 

    上线!

    运维会去git中啦代码,并做部署处理.

      git clone .....

    一个开发遇到问题

    合并时候,可能会产生冲突.

    手动去解决冲突.

    <<<<HEAD

    XXX

    =====

    XXX

    >>>>DEV

    去掉他除了XX以外的东西 和重复的xx 

    再来git add. 

    git commit -m 'xx' 提交

    (在dev

    git merge master) 

     

      协同开发

    假设项目组成员:

    • 3个开发

    • 1个主管 ( code review )

    •  

    、、、

    git config --global user.name ‘xx'

    git config --global user.email 'xxx.com'

  • 相关阅读:
    SQLyog远程连接Linux服务器错误2003解决
    Linux/UNIX系统编程手册 练习3.8
    概括
    Linux 命令
    句柄类
    带有C风格的 CLib库
    Linux 命令
    C++ 编程思想 第三章 3-2
    一.创建型模式 Prototype 模式
    一.创建型模式 Builder
  • 原文地址:https://www.cnblogs.com/zhuangdd/p/13833023.html
Copyright © 2020-2023  润新知