一.版本管理工具:每一次提交记录为一个版本。
版本管理的发展:CVS—>SVN—>GIT CVS阶段弊端:每一次提交都会提交所有的文件,造成服务器压力—完全被淘汰。 SVN:每一次提交会和服务器进行对比,提交修改的文件。SVN至今仍然在使用(集中式),只有一个服务器,在脱离网络的情况下,无法进行相关操作。 GIT:分布式的,每一个用户都有服务器(本地)—-gitlab Git 是一个分布式的版本控制系统,在 Git 中即使用户离线,也能进行项目的提交和更新操作(本地服务器),等到下次连线中央服务器时进行整体的同步操作。
二.Git 使用流程
分支
1.主分支Master 首先,代码库应该有一个、且仅有一个主分支。所有提供给用户使用的正式版本,都在这个主分支上发布。 Git主分支的名字,默认叫做main。它是自动建立的,版本库初始化以后,默认就是在主分支在进行开发。 2.开发分支Develop 主分支只用来分布重大版本,日常开发应该在另一条分支上完成。我们把开发用的分支,叫做Develop。 这个分支可以用来生成代码的最新隔夜版本(nightly)。如果想正式对外发布,就在Master分支上,对 Develop分支进行”合并”(merge)。 3.创建分支命令 git branch 分支名称 —- 创建分支 git checkout 分支名称 —- 切换分支 git branch 查看分支 git merge 子分支的名称 —- 分支合并
Git 本地操作
1.注册gitHub账号—创建远程仓库 2.如何将远程仓库和本地进行相关的联系(同步): 第一种:将远程仓库克隆到本地。 工作区——(git add .) —>暂存区—- (git commit -m 注释)—>本地服务器——(git push origin master)—->远程仓库
git clone https地址或者ssh地址(第一次使用:从无到有的使用一次)
git status 查看状态 —对比本地和本地服务器的区别
git add index.html 从工作区提交暂存区 git add . 提交所有改动的文件。
git commit -m “提交的注释” 暂存区到本地服务器
如果仅仅是文件修改了,一次性到从工作区到本地服务器(跳过工作区到暂存区) git commit -am “提交的注释”
git push origin master:提交远程服务(origin:远程服务器名称 master:主分支)
git pull origin master : 更新
第二种:将本地的开发目录变成远程仓库。
git init
git add .
git commit -m ‘first commit’
git remote add origin git@github.com:pengshaohua/login.git(新建远程仓库,生成的地址)
git pull —rebase origin master
git push -u origin master
3.远程仓库的地址有两种: Clone with https:每次提交远程服务器都需要用户名和密码—不常用 Clone with ssh:配置私钥(本地)和公钥(配置给github)
三.配置ssh
先去测试以下
$ ssh -T git@github.com $ ssh -T git@gitee.com
获取远程仓库的代码有两种格式:—重点 第一种 https:每一次和远程仓库通信都需要用户名和密码。 第二种 ssh : 生成两个秘钥,将公钥给匹配的网站,私钥放置在本地。 配置秘钥(私钥在本地) 1.配置个人用户信息和电子邮件地址 git config —global user.name “用户名 ” git config —global user.email “你的邮箱” git config —list (查看所有配置项) q键退出 2.输入如下命令:ssh-keygen -t rsa -C “ 你的邮箱 ” —回车直到结束。生成ssh 3.进入github配置公钥 cd ~/.ssh : 进入.ssh目录 ls 显示目录的内容 cat ~/.ssh/id_rsa.pub 查看文件的内容 4.进入github网站—-点击右上角小图片—-settings—-左侧菜单SSH and GPG keys
四.配置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 master:master’
alias gpull=’git pull origin master’
五.回滚代码
回滚代码 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上