git介绍和安装
# 版本管理软件
-1 对代码版本进行管理---》首页功能完成---》课程功能完成---》可以回退到某个版本
-2 协同开发--》多人开发--》合并代码---》可能会有冲突,解决冲突
# 版本管理软件:主流就两个
-git:现在用的最多(学git)
-svn:老
# git与svn比较
-svn:cs架构 一个服务端,多个客户端,如果服务端挂掉,整个代码合并,提交代码就做不了了,只能本地开发代码
-git:分布式管理,装git的客户端,既可以当客户端,又可以当服务端,如果git远程仓库挂掉,本地可以继续做代码版本的管理
# 安装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使用流程
# https://www.cnblogs.com/liuqingzheng/p/15328319.html
# 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 relog
---------------了解-----------
# 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管理
-.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