一.版本管理工具:每一次提交记录为一个版本。
https://github.com/ github 网站
https://gitee.com/ 码云网站
版本管理的发展:CVS–>SVN–>GIT
CVS阶段弊端:每一次提交都会提交所有的文件,造成服务器压力–完全被淘汰。
SVN:每一次提交会和服务器进行对比,提交修改的文件。SVN至今仍然在使用(集中式),只有一个服务器,在脱离网络的情况下,无法进行相关操作。
GIT:分布式的,每一个用户都有服务器(本地)—gitlab
Git 是一个分布式的版本控制系统,在 Git 中即使用户离线,也能进行项目的提交和更新操作(本地服务器),等到下次连线中央服务器时进行整体的同步操作。
二.Git 使用流程
Git 本地操作
远程仓库的地址有两种:
Clone with https:每次提交远程服务器都需要用户名和密码–不常用
Clone with ssh:配置私钥(本地)和公钥(配置给github)
1.注册gitHub账号–创建远程仓库
2.配置用户名和邮箱
git config --global user.name “用户名 ”
git config --global user.email “你的邮箱”
git config --list (查看所有配置项) q键退出
3.如何将远程仓库和本地进行相关的联系(同步):
第一种:将远程仓库克隆到本地。
工作区----(git add .) -->暂存区— (git commit -m 注释)–>本地服务器----(git push origin main)—>远程仓库
git clone https地址或者ssh地址(第一次使用:从无到有的使用一次)
git status 查看状态 --对比本地和本地服务器的区别
git add index.html 从工作区提交暂存区 git add . 提交所有改动的文件。
git commit -m "提交的注释" 暂存区到本地服务器
如果仅仅是文件修改了,一次性到从工作区到本地服务器(跳过工作区到暂存区)
git commit -am “提交的注释”
git push origin main:提交远程服务(origin:远程服务器名称 :主分支)
git pull origin : 更新
第二种:将本地的开发目录变成远程仓库。
git init
git add .
git commit -m 'first commit'
git remote add origin git@github.com:pengshaohua/login.git
(新建远程仓库,生成的地址)
git pull --rebase origin main
git push -u origin main
分支
1.主分支Master
首先,代码库应该有一个、且仅有一个主分支。所有提供给用户使用的正式版本,都在这个主分支上发布。
Git主分支的名字,默认叫做main。它是自动建立的,版本库初始化以后,默认就是在主分支在进行开发。
2.开发分支Develop
主分支只用来分布重大版本,日常开发应该在另一条分支上完成。我们把开发用的分支,叫做Develop。
这个分支可以用来生成代码的最新隔夜版本(nightly)。如果想正式对外发布,就在main分支上,对
Develop分支进行"合并"(merge)。
3.创建分支命令
git branch 分支名称 — 创建分支
git checkout 分支名称 — 切换分支
git branch 查看分支
git merge 子分支的名称 — 分支合并
git checkout -b 创建并切换分支
git commit -am “” 修改文件一步提交到本地服务器
三.配置ssh
获取远程仓库的代码有两种格式:–重点
第一种 https:每一次和远程仓库通信都需要用户名和密码。
第二种 ssh : 生成两个秘钥,将公钥给匹配的网站,私钥放置在本地。
配置秘钥(私钥在本地)
1.配置个人用户信息和电子邮件地址
2.输入如下命令:ssh-keygen -t rsa -C “ 你的邮箱 ” --回车直到结束。生成ssh
3.进入c盘找到对应的公钥文件(id_rsa.pub),打开文件复制文件里面内容。
cd ~/.ssh : 进入.ssh目录
cat ~/.ssh/id_rsa.pub 查看文件的内容
4.进入github网站或者码云进行设置
四.配置git
1.git config --global alias.别名
上述配置确实简化了命令,但还是要输入前面的git,因为git bash 默认所有的命令都要以git开头
2.修改Git安装目录下的etc/bash.bashrc文件,在里面加入别名设置即可
alias ga='git add -A'
alias gb='git branch'
alias gk='git checkout'
alias gc='git commit -m'
alias gm='git merge'
alias gs='git status'
alias gls='git log -1'
alias gr='git reset --hard'
alias gpush='git push origin main:main'
alias gpull='git pull origin main'
五.回滚代码
回滚代码
git log查看提交日志
显示不全,通过回车键显示所有的提交日志,q键退出。
git reset --hard commit_id 退到/进到 指定commit_id的随机的哈希值
git push origin head --force 强推到远程
六.打印版本
版本:
git tag v1.0
git push origin v1.0
七.git的常用命令
git的常用命令:
https://blog.csdn.net/lxw198902165221/article/details/89228458
https://www.cnblogs.com/Angxf/p/10956416.html
八.应用
在本地实现git版本操作;
.gitignore:忽略提交文件(忽略环境配置)。
Git提交gulp构建的项目;
提交并创建分支下载远程分支,建立项目结构(gulp 项目结构);
将选好的项目建立结构托管到github上