Git的介绍以及使用

发布时间 2024-01-04 11:09:22作者: Way*yy

Git的介绍与安装

# 当我们的项目写好以后需要放到代码仓库中,来管理我们的代码,代码仓库有两种:
    -svn:这个比较老,市面上基本不再使用
    -git:比较流行,做代码管理
    
# Git的作用:
    1、可以完成多人协同开发项目,帮助程序员整合代码
    2、如果代码出现冲突,会提示开发者,让其解决冲突
    3、做版本管理-->可以把代码退回到某个版本
    
# 安装Git
    -官方下载
    -安装:一步下一步
    -验证安装:
        -1 在cmd中输入:git -v
        -2 在任意路径点右键:看到 
        git gui here:在此处打开一个git 图形化界面
        git bash here:在此处打开一个命令窗口
        

git,github,gitlab,gitee介绍

# 参考文档:
	https://www.cnblogs.com/liuqingzheng/p/15328319.html
        
# git : 软件,做版本管理和代码合并,它有些命令
# github:网站,远程代码仓库,全球最大的开源代码托管网站,使用git的命令来上传下载代码
# gitee:网站,远程代码仓库,国内最大的开源代码托管网站,使用git的命令来上传下载代码
# gitlab:公司内部搭建的代码托管平台,远程代码仓库,网站,使用git的命令来上传下载代码

git工作流程

# 工作区
# 暂存区
# 版本库

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

git常用命令

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

#2 git status 查看当前状态
    -红色:仓库中新增了,或修改了某些文件,还没有提交到暂存区
    -绿色:在暂存区有变化,还没有提交到版本库
#3 git add 文件名 
    -git add . # 把当前所有变更都提交到暂存区
    -把工作区变更,提交到暂存区了
    -由红变绿了
    
#4 设置用户(在本机就设置一次全局即可---》后期使用远程仓库,可以区分是谁提交了代码)
	# 局部设置(只针对于当前仓库)
    git config user.name 'xxxx'
    git config user.email 'xxxx'

    # 全局设置(所有仓库)
    git config --global user.name 'xxxxx'
    git config --global user.email 'xxxx'
    
# 5 设置版本 git commit -m '注释'  
	# 把暂存区所有内容,提交到版本库,被版本管理起来,以后可以回退,查看


# 6 查看版本记录
    git log
    git reflog
   
    
# 7 了解
    git checkout .  # 把工作区变更删除
    git reset HEAD  # 把暂存区,拉回到工作区
    git reset --soft 23e9e095 # 版本号是上一个版本,把版本库内容拉回到暂存区
    git reset --mix b23875   # 把版本库内容拉回到工作区,变红

	
# 8 切换版本
	git reset --hard  e5fff5fe48

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

Git的执行流程

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空文件)
        """
        
        
# 忽略文件,在一开始就要忽略,如果已经被版本管理了,再忽略就没用了

# 如果之前没管,已经提交了
	删除--->提交到版本库--->再在忽略文件中加入
    
    
    
# 咱们项目的忽略文件
.idea
logs/*.log
scripts
__pycache__
*.pyc


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