Git介绍

一、git介绍和安装

# 版本管理软件
	-1 对代码版本进行管理 ---> 首页功能完成 ---> 课程功能完成 --> 可以回退到某个版本
    -2 协同开发 --> 多人开发 --> 合并代码 ---> 可能会有冲突,解决冲突
    
# 版本管理软件:主流就两个
	-git:现在用的最多(学git)
    -svn:老

1.2 git与svn比较

  • svn:cs架构 一个服务端,多个客户端,如果服务端挂掉,整个代码合并,提交代码就做不了了,只能本地开发代码
  • git:分布式管理,装git的客户端,既可以当客户端,又可以当服务端,如果git远程仓库挂掉,本地可以继续做代码版本的管理

1.3 安装

安装git,就是个软件。
网址:https://git-scm.com/download/win

  • 官网下载,一路下一步
  • 在命令行中:git version 如果有反应,说明装好了

二、git,github,gitee,gitlab

# git :版本管理软件,可以做版本管理
# github:它是一个网站:https://github.com/ 全球最大的开源代码管理仓库,git远程仓库
	-运营商不让访问
# gitee:中国最大的开源代码管理仓库(私有仓库)
	-https://gitee.com/kitego/hashmart
    
    
# gitlab: 公司内部搭建自己的远程仓库,只在公司内部用,外网访问不到(到公司用这个多)

三、git使用流程

重学Git:https://www.cnblogs.com/liuqingzheng/p/15328319.html
Git基础:https://www.cnblogs.com/liuqingzheng/articles/17146214.html

  • git 分3个区--->三个区的来回操作
    • 工作区:存放代码的文件夹,只要工作区文件发生变(修改,新增,删除)
    • 暂存区:工作的变更,提交到暂存区 git add . 把工作区变更提交到暂存区
    • 版本库:暂存区内容,放到版本库,被版本管理---> git commit -m ''

四、git常用命令

# 0 再某个位置,右键---> git bash here ----> 打开命令窗口---> 等同于cmd---> 在这个命令窗口里可以执行 linux命令,来操作win


# 1  初始化仓库,在某个文件夹下执行
	git init   # 在当前文件夹下就会创建出  .git 文件夹,这个就会被git管理
    git init xxx # 在当前路径下创建 xxx文件夹,并用git管理xxx文件夹
    
# 1.1 配置用户
#### 全局配置  以后所有的版本提交时,都用这个用户和邮箱--> C:\Users\oldboy\.gitconfig 
git config --global user.name '用户名'
git config --global user.email '用户邮箱'
#### 局部配置  只在当前 仓库生效--> 仓库路径下  .git 文件夹下 config文件中配置的
git config user.name '用户名'
git config user.email '用户邮箱'

# 2 查看仓库状态
	git status  # 红  绿
    # 如果是红色,表明是在工作发生了变化,没有提交到暂存区
    # 如果是绿色:表明,暂存区数据没有提交到版本库
    # 如果没有东西,表示当前目录下所有文件被git管理了,被版本管理了
    
    
# 3 把工作区变更,提交到暂存区
	git add  .  # 当前目录下所有变更都提交
    git add 1.txt # 只提交当前目录下 1.txt这个文件的变更
   


# 4 把暂存区内容,提交到版本库(只要被版本管理的东西,你尽管操作,后期都能回退回来)
	git commit -m '我的第一次,提交'  # 如果不设置用户,提交不了,不知道是谁提交

# 5 查看版本信息(提交过哪些版本,注释是什么)【可以按作者,时间过滤】
    git log
    git reflog
    
 ---------------了解-----------   
# 6 把工作区变更回退
git checkout . # 当前路径下所有

# 7 把暂存区内容,拉回到工作区(由绿变红)
git reset HEAD

# 8 从版本库拉回到暂存区(版本库内容回退,变绿)--->需要写上一个版本
git reset --soft  1603edf06d7d302ba50c22373c963af15725eda5


# 9 把版本库退回到工作区(版本库内容回退,变红)
git reset --mix 1603edf06d7d302ba50c22373c963af15725eda5

# 10 把版本库直接完整回退会工作区(增加的也没了)
git reset --hard 1603edf06d7d302ba50c22373c963af15725eda5


# 11 回退到某个版本的样子(可能会用)
git reset --hard 19f5891


# 总结:
 git add
 git commit -m ''


# 只要被版本管理的文件,即便以后删除了,也能回来
# 空文件不会被git管理

五、git忽略文件

# 写项目,会有一些文件或文件夹,不希望被git管理,忽略掉它, 不被git管理
	-.idea
    -node_models
    -xx
    
    
# 需要写个忽略文件 .gitignore   必须叫它,没有后缀名
在里面写忽略的文件或文件夹,写法如下
.idea   # 忽略idea文件夹及其下面所有的文件
lqz.txt  # 忽略仓库中所有的lqz.txt
/lqz.txt # 忽略当前路径下的lqz.txt
a/lqz.txt # 只忽略当前路径下a文件夹下lqz.txt
*x*:名字中有一个x的都会被过滤(*代表0~n个任意字符)


# 给路飞做忽略文件
.idea
*.log
__pycache__
*.pyc

scripts


# 补充:
__pycache__:是对文件的一些缓存,只要文件启动就会创建这个文件夹

posted @ 2023-06-28 21:13  星空看海  阅读(22)  评论(0编辑  收藏  举报