git

发布时间 2023-10-10 21:47:50作者: Maverick-Lucky

1. git介绍和安装

1.首页功能写完了---》正常应该提交到版本仓库---》大家都能看到这个---》运维应该把现在这个项目部署到测试环境中---》测试开始测试---》客户可以看到目前做的情况

需要有版本仓库,来管理我们的代码

  - svn:比较老,公司基本不用

  - git:比较流行,做代码管理

2. git 能干什么?

完成,协同开发(多人一起开发)项目,帮助程序眼整合代码

  - 1.帮助开发者合并开发的代码

  - 2.如果出现冲突代码的合并,会提示后提交合并代码的开发者,让其解决冲突

  - 3. 做版本管理 ---》可以 把代码退回到某个版本

3. 安装git

  - 官方下载

  - 安装:一路下一步,都选默认的,可以修改安装路径,其他不需要修改

  - 验证安装;

    1. 在cmd中输入:git -v

      

     2. 在任意路径点击右键:能看到:

      git gui here:在此处打开一个git图形化界面

      git bash here:在此处打开一个命令窗口

2. git,github,gitlab,gitee介绍

文档:https://www.cnblogs.com/liuqingzheng/p/15328319.html

git :是一个软件,做版本管理和代码合并,有一些git命令

github:是一个网站,远程代码仓库,全球最大的开源代码托管网站,使用git的命令来上传下载代码

gitee:是一个网站,远程代码仓库,国内最大的开源代码托管网站,使用git的命令来上传下载代码

gitlab:是一个网站,公司内部搭建的代码托管平台,远程代码仓库,使用git的命令上传下载代码

3.git工作流程

分为工作区、暂存区、版本库

git 就是对文件进行管理 ---》代码也是文件

流程核心总结:

"""
1)有红色信息(工作区有内容),就执行 add 
2)全绿信息(内容全部在暂存区),才执行 commit
3)只有被版本库控制的代码,才能被监听,所以可以回滚到任何一个版本
"""

如下图:

4.git常用命令

1.将已有的文件夹 - 初始化为git仓库

git init   # 初始化当前文件夹作为仓库
git init XX  # 初始化当前文件夹下XX作为仓库

2.设置用户(在本机设置一次全局即可)

后期使用远程仓库,可以区分是谁提交了代码

- 2.1  设置全局用户(针对所以仓库)
"""
 git config --global user.name '用户名'
git config --global user.email '用户邮箱'
注:在全局文件 C:\Users\用户文件夹\.gitconfig新建用户信息,在所有仓库下都可以使用
"""

  

当创建完成之后,会在C:\Users\用户文件夹\.gitconfig新建用户信息,如下图所示:

  

- 2.2  创建局部用户(只针对当前仓库)
git config user.name '用户名'
git config user.email '邮箱'

3. 查看仓库状态

# 当仓库中有文件增加、删除、修改,都可以在仓库状态中查看
git status      #查看仓库状态
git status -s  # 查看仓库状态的简约显示

git status:

  - 红色:仓库中新增了,或修改了某些文件,还没有提交到暂存区

  - 绿色:在暂存区有变化,还没有提交到版本库

4. 工作区内容提交到暂存区

空文件夹不会被git记录

把工作区变更,提交到暂存区了

有红色变成绿色

git add .              #  添加项目中所有文件
git add 文件名    # 添加指定文件

 

5. 提交暂存区内容到版本库

git commit -m "版本描述信息"    # 把暂存区所有内容,提交到版本库,被版本管理起来,以后可以回退,查看

6. 查看版本记录

git log        # 显示整个版本号
git reflog     # 这个版本号显示的简洁点

7. 切换版本

git reset --hard  版本号(可以截一小段)# 切换版本号

8. 只要被版本管理了(一定能要提交到版本库),以后无论如何操作,都能再退回到某个位置

9. 了解

git checkout .  # 把工作区变更删除
git reset HEAD  # 把暂存区,拉回到工作区
git reset --soft 23e9e095 # 版本号是上一个版本,把版本库内容拉回到暂存区
git reset --mix b23875   # 把版本库内容拉回到工作区,变红

5. git忽略文件

如果一个文件夹被git管理了,所以文件都会被管理,所以文件发生变化,都会变红

在一个文件夹中,可能有些文件,或文件夹不想被git管理,这时候需要设置过滤文件

使用方式:

  - 1. 在仓库目录下(其他目录下不要有),新建一个文件:.gitignore   

  

  - 2. 在里面写忽略文件或文件夹

""" 过滤文件内容
        文件或文件夹名:代表所有目录下的同名文件或文件夹都被过滤
        /文件或文件夹名:代表仓库根目录下的文件或文件夹被过滤

        eg:
        a.txt:项目中所有a.txt文件和文件夹都会被过滤
        /a.txt:项目中只有根目录下a.txt文件和文件夹会被过滤
        /b/a.txt:项目中只有根目录下的b文件夹下的a.txt文件和文件夹会被过滤
        *x*:名字中有一个x的都会被过滤(*代表0~n个任意字符)
        空文件夹不会被提交,空包会被提交,包可以被提交(包中有一个init空文件)
        """

需要被忽略的文件、文件夹:

 进行提交:

 提交完成,变绿色,在暂存区

 

注意:

  1. 忽略文件,在一开始就要忽略,如果已经被版本管理了,在忽略就没用了

  2. 如果之前没有被管理,且已经提交了,可以按照下面步骤做:

    删除---》提交到版本库---》再在忽略文件中加入

记住:

  迁移记录文件是否提交---》建议不提交
  **/migrations/*.py # 忽略迁移记录
  !**/migrations/__init__.py #不不忽略 __init__.py