Git的介绍

本文介绍了如何导出Python项目的依赖包至requirements.txt,包括使用pipfreeze和pipreqs的方法,并概述了git在软件开发中的重要性,如版本控制、多分支管理和远程仓库的使用。
摘要由CSDN通过智能技术生成

导出项目依赖

# 以后项目给别人需要导出项目依赖,放在项目路径下,以后在运行项目前,先安装依赖

    一般约定俗成都叫 requirements.txt,但是会有别的:req.txt  |  dev.txt
# 两种方式:
    1、虚拟环境所有装的第三方,都应该是该项目的依赖,直接导出所有第三方模块即可

        mkvirtualenv -p python 虚拟环境名
        pip freeze  > requirements.txt

    2 不需要管是虚拟环境还是真实环境,只会导出项目的依赖
        pip install pipreqs
        pipreqs . --encoding=utf-8

# 导出python项目的 依赖包

  1. 首先进入项目所在的虚拟环境(如果有的话),可以使用 source activate your_env 命令进入。
  2. 然后使用 pip freeze > requirements.txt 命令将当前环境中的所有依赖包及其版本信息导出到 requirements.txt 文件中。
  3. 最后可以将 requirements.txt 文件分享给其他人,他们可以通过 pip install -r requirements.txt 命令快速安装所需的依赖包。

软件开发模式

# 瀑布开发
    软件设计,分任务开发,测试全部,上线
# 敏捷开发
    软件分板块
        版块设计[用户],分任务开发,测试部分,上线
        版块设计[订单],分任务开发,测试部分,上线
        版块设计[商品],分任务开发,测试部分,上线
    整体测试
    上线

git介绍和安装

# 软件开发一个功能后,会把代码提交到某个位置,大家都能拿到

        首页功能开发完了,提交到git

# 现在存在的问题:
        1、多人在同一项目上开发,代码合并,多人协同开发
        2、做版本管理,版本回退,查看...
# SVN 、 GIT 能完成上述操作:
        svn 比较老,用的公司不多
        git比较流行

# git是什么?
    版本控制[软件],控制的对象是文件
    下载https://git-scm.com/downloads
            win:Git-2.43.0-64-bit.exe 下载,一路下一步安装即可
           mac:  双击安装
    安装完成:点右键,多出两个命令
                git bash here   # 会常用
                git gui here      # 用的少
    打开命令行:
                git -v

git gitlab gitee github介绍

git:软件,做版本管理的,分不同平台(win,mac)
github:网站,git远程代码仓库,全球最大的开源代码托管平台,全球最大的开源代码仓库
gitee:国内最大的开源代码托管平台(小公司,私有仓库)

gitlab:公司内部的远程仓库(公司内部这个多)
# bitbucket 给公司做代码托管的,没有开源

git使用流程

# git 有三个区:
    工作区:某个文件夹,在文件夹  新增,修改,删除,更新 文件--用户操作的位置
    暂存区:工作区的变更---提交到暂存区
    版本库:把暂存区内容---提交到版本库---文件就被版本管理了--回退到某个版本
    远程仓库:第三方:github,gitee,gitlab
# 工作流程:三个区的来回操作

git常用命令

# 初始化仓库:仓库目录下会出现 .git 文件夹,文件夹千万不要删除
        git init             # 初始化当前文件夹
        git init 文件夹 # 在当前文件夹下创建文件夹,并把新创建的文件夹作为仓库
# 查看仓库状态:
        git status 
        git status -s     #查看仓库状态的简约显示
    红色:工作区有变更,但是没有提交到暂存区  
    绿色:工作区变更提交到暂存区,但是没有提交到版本库---》还没有被版本管理起来
    白色:所有变更都被版本管理了

# 把工作区变更提交到暂存区:
        git add 文件名 文件夹
        git add .  # 所有变更

# 把暂存区提交到版本库:
        git commit -m '注释'    

        # 只要提交一次,就会有个版本号,以后根据版本号我们可以回退到任意版本

# 设置用户名和邮箱,一般写在git init之后,只设置一次

# 全局设置
git config --global user.name '用户名'
git config --global user.email '用户邮箱'
# 局部设置:
git config user.name 'xxx'
git config user.email '4@qq.com'

# 查看版本日志:  
    git log   # 能看到用户:zjq <3306@qq.com>
    git reflog
# 撤销工作区变更:
                 git checkout .   # 撤销所有暂存区的提交
                git checkout 文件名    # 撤销某一文件的暂存区提交

# 撤销暂存区提交:add的逆运算
             git reset HEAD .   # 撤销所有暂存区的提交
             git reset 文件名     # 撤销某一文件的暂存区提交
# git log 更多:
查看时间点之前|之后的日志:
        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~
        回滚到上三个版本:
                    git reset --hard HEAD^^^
                    git reset --hard HEAD~3
        回滚到指定版本号的版本:
                    git reset --hard 版本号 (重点)
              eg: git reset --hard 35cb292

git log和git reflog区别

回滚到上一个版本:
        git reset --hard HEAD^
        git reset --hard HEAD~
回滚到上三个版本:
        git reset --hard HEAD^^^
        git reset --hard HEAD~3
回滚到指定版本号的版本:
        git reset --hard 版本号 (重点)
  eg: git reset --hard 35cb292
# 只要是被版本管理了,后期我们可以回退到任意版本

git忽略文件

# 在仓库中,某些文件或文件夹,不期望被git管理,不被版本管理

node_models
.idea
.vscode
__pycache__ :为了加快执行效率, 解释器会把py文件,只要执行过,就编译成views.cpython-38.pyc, 以后再运行,直接运行这个文件,速度快
项目的日志文件 

# 在仓库目录下新建一个文件:.gitignore
    标明哪些不被git管理,标明语法如下:
            如果是文件,直接写文件名
            如果是文件夹,直接写文件夹名
# 具体如下:
        文件或文件夹名:代表所有目录下的同名文件或文件夹都被过滤
        /文件或文件夹名:代表仓库根目录下的文件或文件夹被过滤

例如:
        a.txt:项目中所有a.txt文件和文件夹都会被过滤
        /a.txt:项目中只有根目录下a.txt文件和文件夹会被过滤
        /b/a.txt:项目中只有根目录下的b文件夹下的a.txt文件和文件夹会被过滤
        *x*:名字中有一个x的都会被过滤(*代表0~n个任意字符)
        空文件夹不会被提交,空包会被提交,包可以被提交(包中有一个init空文件)注意:
        # 以'#'开始的行,被视为注释.                                                                                           # 忽略掉所有文件名是 zjq.txt的文件.
                    zjq.txt
# 忽略所有生成的 html文件,
                *.html
# zjq.html是例外,不在忽略范围内
                !zjq.html
# 忽略所有.o和 .a文件.
                *.[oa]
# 后端项目的忽略文件:

luffy.log
__pycache__
*.pyc
.idea
scripts
.vscode
**/migrations/*.py
!**/migrations/__init__.py

# 空文件夹不被git管理:

          log
          __init__.py
          luffy.log
         *.log

git 多分支

# 以后再创建分支之前,先保证 所有文件都被git管理起来

创建分支:
            git branch dev     # 创建一个dev分支
查看分支:
            git branch
            * master     # 只有一个master分支

切换分支:
            git checkout dev    # 切换到dev分支
删除分支(不能自己删自己):
            git branch -d dev

合并分支:
    切换到master上
    git merge dev      # 把dev合并到当前分支

git远程仓库

# 远端的一个服务器:github、gitee、gitlab  
注册gitee账号
新建仓库
在本地执行
        git config --global user.name "liuqingzheng"
        git config --global user.email "306334678@qq.com"

# 已有仓库
        cd lqz
        git remote add origin https://gitee.com/liuqingzheng/lqz2.git   
# 添加远程仓库地址
        git push  origin master

今日思维导图:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值