简述网站建设流程中的各个步骤,佛山免费建站怎样,有什么网站可以兼职做翻译,计算机应用是做什么的git版本控制系统 1、什么是版本控制2、常见的版本控制工具3、版本控制分类3.1、本地版本控制3.2、集中版本控制 SVN3.3、分布式版本控制 Git 4、Git与SVN的主要区别5、Git环境配置6、启动Git7、常用的Linux命令8、Git配置9、设置用户名与邮箱#xff08;用户标识#xff0c;必… git版本控制系统 1、什么是版本控制2、常见的版本控制工具3、版本控制分类3.1、本地版本控制3.2、集中版本控制 SVN3.3、分布式版本控制 Git 4、Git与SVN的主要区别5、Git环境配置6、启动Git7、常用的Linux命令8、Git配置9、设置用户名与邮箱用户标识必要10、Git基本理论重要10.1、三个区域10.2、工作流程 11、Git项目搭建11.1、创建工作目录与常用指令11.2、本地仓库搭建11.3、克隆远程仓库 12、Git文件操作12.1、文件的四种状态12.2、查看文件状态12.3、忽略文件 13、使用码云(Gitee)14、IDEA中集成Git15、说明GIT分支16、使用vscode操作git16.1、本地版本控制16.2、代码托管16.3、协同开发 1、什么是版本控制
版本控制Revision control是一种在开发的过程中用于管理我们对文件、目录或工程等内容的修改历史方便查看更改历史记录备份以便恢复以前的版本的软件工程技术。
实现跨区域多人协同开发追踪和记载一个或者多个文件的历史记录组织和保护你的源代码和文档统计工作量并行开发、提高开发效率跟踪记录整个软件的开发过程减轻开发人员的负担节省时间同时降低人为错误
简单说就是用于管理多人协同开发项目的技术。
没有进行版本控制或者版本控制本身缺乏正确的流程管理在软件开发过程中将会引入很多问题如软件代码的一致性、软件内容的冗余、软件过程的事物性、软件开发过程中的并发性、软件源代码的安全性以及软件的整合等问题。
多人开发就必须要使用版本控制
2、常见的版本控制工具
主流的版本控制器有如下这些
GitSVNSubversionCVSConcurrent Versions SystemVSSMicorosoft Visual SourceSafeTFSTeam Foundation ServerVisual Studio Online
版本控制产品非常的多Perforce、Rational ClearCase、RCSGNU Revision Control System、Serena Dimention、SVK、BitKeeper、Monotone、Bazaar、Mercurial、SourceGear Vault现在影响力最大且使用最广泛的是Git与SVN。
3、版本控制分类
3.1、本地版本控制
记录文件每次的更新可以对每个版本做一个快照或是记录补丁文件适合个人用如RCS。
3.2、集中版本控制 SVN
所有的版本数据都保存在服务器上协同开发者从服务器上同步更新或上传自己的修改。
所有的版本数据都存在服务器上用户的本地只有自己以前所同步的版本如果不连网的话用户就看不到历史版本也无法切换版本验证问题或在不同分支工作。而且所有数据都保存在单一的服务器上有很大的风险这个服务器会损坏这样就会丢失所有的数据当然可以定期备份。代表产品SVN、CVS、VSS
3.3、分布式版本控制 Git
每个人都拥有全部的代码安全隐患
所有版本信息仓库全部同步到本地的每个用户这样就可以在本地查看所有版本历史可以离线在本地提交只需在连网时push到相应的服务器或其他用户那里。由于每个用户那里保存的都是所有的版本数据只要有一个用户的设备没有问题就可以恢复所有的数据但这增加了本地存储空间的占用。
不会因为服务器损坏或者网络问题造成不能工作的情况
4、Git与SVN的主要区别
SVN是集中式版本控制系统版本库是集中放在中央服务器的而工作的时候用的都是自己的电脑所以首先要从中央服务器得到最新的版本然后工作完成工作后需要把自己做完的活推送到中央服务器。集中式版本控制系统是必须联网才能工作对网络带宽要求较高。
Git是分布式版本控制系统没有中央服务器每个人的电脑就是一个完整的版本库工作的时候不需要联网了因为版本都在自己电脑上。协同的方法是这样的比如说自己在电脑上改了文件A其他人也在电脑上改了文件A这时你们两之间只需把各自的修改推送给对方就可以互相看到对方的修改了。Git可以直接看到更新了哪些代码和文件
5、Git环境配置
打开git官网下载git对应的操作系统的版本。 因为是外网所以下载速度很慢我们可以使用淘宝镜像进行下载。
下载好安装包之后双击exe文件一直点击下一步即可。
【注意】安装路径尽量不要放在C盘
6、启动Git
安装成功后在开始菜单中会有Git项菜单下有3个程序任意文件夹下右键也可以看到对应的程序 **Git Bash**Unix与Linux风格的命令行使用最多推荐最多
**Git CMD**Windows风格的命令行
Git GUI图形界面的Git不建议初学者使用尽量先熟悉常用命令
7、常用的Linux命令
可查看我的博客——Linux操作系统
8、Git配置
所有的配置文件其实都保存在本地
查看配置git config -l 查看不同级别的配置文件
#查看系统config git config --system --list
#查看当前用户global配置 git config --global --listGit相关的配置文件
1、Git\etc\gitconfig Git 安装目录下的 gitconfig --system 系统级 2、C:\Users\Administrator\ .gitconfig 只适用于当前登录用户的配置 --global 全局 这里可以直接编辑配置文件通过命令设置后会响应到这里。
9、设置用户名与邮箱用户标识必要
当你安装Git后首先要做的事情是设置你的用户名称和e-mail地址。这是非常重要的因为每次Git提交都会使用该信息。它被永远的嵌入到了你的提交中
git config --global user.name **** #名称
git config --global user.email ******qq.com #邮箱只需要做一次这个设置如果你传递了–global 选项因为Git将总是会使用该信息来处理你在系统中所做的一切操作。如果你希望在一个特定的项目中使用不同的名称或e-mail地址你可以在该项目中运行该命令而不要–global选项。总之–global为全局配置不加为某个项目的特定配置。 10、Git基本理论重要
10.1、三个区域
Git本地有三个工作区域工作目录Working Directory、暂存区(Stage/Index)、资源库(Repository或Git Directory)。如果在加上远程的git仓库(Remote Directory)就可以分为四个工作区域。文件在这四个区域之间的转换关系如下 Workspace工作区就是你平时存放项目代码的地方Index / Stage暂存区用于临时存放你的改动事实上它只是一个文件保存即将提交到文件列表信息Repository仓库区或本地仓库就是安全存放数据的位置这里面有你提交到所有版本的数据。其中HEAD指向最新放入仓库的版本Remote远程仓库托管代码的服务器可以简单的认为是你项目组中的一台电脑用于远程数据交换
本地的三个区域确切的说应该是git仓库中HEAD指向的版本 Directory使用Git管理的一个目录也就是一个仓库包含我们的工作空间和Git的管理空间。WorkSpace需要通过Git进行版本控制的目录和文件这些目录和文件组成了工作空间。.git隐藏文件夹存放Git管理信息的目录初始化仓库的时候自动创建。Index/Stage暂存区或者叫待提交更新区在提交进入repo之前我们可以把所有的更新放在暂存区。Local Repo本地仓库一个存放在本地的版本库HEAD会只是当前的开发分支branch。Stash隐藏是一个工作状态保存栈用于保存/恢复WorkSpace中的临时状态。
10.2、工作流程
git的工作流程一般是这样的
、在工作目录中添加、修改文件
、将需要进行版本管理的文件放入暂存区域
、将暂存区域的文件提交到git仓库。
因此git管理的文件有三种状态已修改modified,已暂存staged,已提交(committed) 11、Git项目搭建
11.1、创建工作目录与常用指令
工作目录WorkSpace)一般就是你希望Git帮助你管理的文件夹可以是你项目的目录也可以是一个空目录建议不要有中文。
日常使用只要记住下图6个命令 11.2、本地仓库搭建
创建本地仓库的方法有两种一种是创建全新的仓库另一种是克隆远程仓库。
1、创建全新的仓库需要用GIT管理的项目的根目录执行
# 在当前目录新建一个Git代码库$ git init2、执行后可以看到仅仅在项目目录多出了一个.git目录关于版本等的所有信息都在这个目录里面。
11.3、克隆远程仓库
1、另一种方式是克隆远程目录由于是将远程服务器上的仓库完全镜像一份至本地
# 克隆一个项目和它的整个代码历史(版本信息)$ git clone [url] $ git clone https://gitee.com/kuangstudy/kuang_livenote.git2、去 gitee 或者 github 上克隆一个测试 12、Git文件操作
12.1、文件的四种状态
版本控制就是对文件的版本控制要对文件进行修改、提交等操作首先要知道文件当前在什么状态不然可能会提交了现在还不想提交
的文件或者要提交的文件没提交上。
Untracked: 未跟踪, 此文件在文件夹中, 但并没有加入到git库, 不参与版本控制. 通过git add状态变为Staged.Unmodify: 文件已经入库, 未修改, 即版本库中的文件快照内容与文件夹中完全一致. 这种类型的文件有两种去处, 如果它被修改, 而变为Modified. 如果使用git rm移出版本库, 则成为Untracked文件Modified: 文件已修改, 仅仅是修改, 并没有进行其他的操作. 这个文件也有两个去处, 通过git add可进入暂存staged状态, 使用git checkout 则丢弃修改过, 返回到unmodify状态, 这个git checkout即从库中取出文件, 覆盖当前修改 !Staged: 暂存状态. 执行git commit则将修改同步到库中, 这时库中的文件和本地文件又变为一致, 文件为Unmodify状态. 执行git reset HEAD filename取消暂存, 文件状态为Modified
12.2、查看文件状态
上面说文件有4种状态通过如下命令可以查看到文件的状态
#查看指定文件状态
git status [filename]
#查看所有文件状态
git status
# git add . 添加所有文件到暂存区
# git commit -m 消息内容 提交暂存区中的内容到本地仓库 -m 提交信息12.3、忽略文件
有些时候我们不想把某些文件纳入版本控制中比如数据库文件临时文件设计文件等
在主目录下建立.gitignore文件此文件有如下规则
忽略文件中的空行或以井号#开始的行将会被忽略。可以使用Linux通配符。例如星号*代表任意多个字符问号代表一个字符方括号[abc]代表可选字符范围大括号{string1,string2,…}代表可选的字符串等。如果名称的最前面有一个感叹号!表示例外规则将不被忽略。如果名称的最前面是一个路径分隔符/表示要忽略的文件在此目录下而子目录中的文件不忽略。如果名称的最后面是一个路径分隔符/表示要忽略的是此目录下该名称的子目录而非文件默认文件或目录都忽略。
#为注释
*.txt #忽略所有 .txt结尾的文件,这样的话上传就不会被选中
!lib.txt #但lib.txt除外
/temp #仅忽略项目根目录下的TODO文件,不包括其它目录
tempbuild/ #忽略build/目录下的所有文件
doc/*.txt #会忽略doc/notes.txt 但不包括
doc/server/arch.txt13、使用码云(Gitee) github 是有墙的比较慢在国内的话我们一般使用 gitee 公司中有时候会搭建自己的gitlab服务器 这个其实可以作为大家未来找工作的一个重要信息
1、注册登录码云完善个人信息基本信息、个人空间地址… 2、设置本机绑定SSH公钥实现免密码登录免密码登录这一步挺重要的码云是远程仓库我们是平时工作在本地仓库)
# 进入 C:\Users\Administrator\.ssh 目录
# 生成公钥
ssh-keygen -t rsa3、将公钥信息public key 文件id_rsa.pub添加到码云账户中即可 添加成功后显示为如图所示 4、使用码云创建一个自己的仓库 许可证开源是否可以随意转载开源但是不能商业使用不能转载… 限制 克隆到本地 14、IDEA中集成Git
1、新建普通的项目绑定git。
将我们远程的git文件目录拷贝到项目中即可 注意观察idea中的变化 2、修改文件使用IDEA操作git。
添加到暂存区 commit 提交 push到远程仓库
在terminal上输入命令git push即可
3、提交测试 这些都是单个人的操作
15、说明GIT分支
分支在GIT中相对较难分支就是科幻电影里面的平行宇宙如果两个平行宇宙互不干扰那对现在的你也没啥影响。不过在某个时间点两个平行宇宙合并了我们就需要处理一些问题了 git分支中常用指令
# 列出所有本地分支
git branch
# 列出所有远程分支
git branch -r
# 新建一个分支但依然停留在当前分支
git branch [branch-name]
# 新建一个分支并切换到该分支
git checkout -b [branch]
# 合并指定分支到当前分支
$ git merge [branch]
# 删除分支
$ git branch -d [branch-name]
# 删除远程分支
$ git push origin --delete [branch-name]
$ git branch -dr [remote/branch]IDEA中操作 如果同一个文件在合并分支时都被修改了则会引起冲突解决的办法是我们可以修改冲突文件后重新提交选择要保留他的代码还是你的代码
master主分支应该非常稳定用来发布新版本一般情况下不允许在上面工作工作一般情况下在新建的dev分支上工作工作完后比如上要发布或者说dev分支代码稳定后可以合并到主分支master上来。
删除分支 $ git branch -d [branch-name]
16、使用vscode操作git
16.1、本地版本控制
在自己电脑某个位置新建一个文件夹然后打开命令行工具定位到目标目录。
建立仓库 —— git init —— 通过这个命令把这个目录变成Git可以管理的仓库 瞬间Git就把仓库建好了而且告诉你是一个空的仓库empty Git repository细心的读者可以发现当前目录下多了一个.git的目录这个目录是Git来跟踪管理版本库的没事千万不要手动修改这个目录里面的文件不然改乱了就把Git仓库给破坏了。
如果你没有看到.git目录那是因为这个目录默认是隐藏的用ls -al命令就可以看见。
打开自己的代码编辑器然后打开刚刚所创的文件夹编写自己需要的代码我这里简单编写一个txt文件做个 演示 当在文件中输入内容时文件右边的图标会变成M然后打开命令行工具进行文件的暂存
添加到暂存区 git add 文件名称git add . 添加到暂存区后然后进行提交到历史区
提交到历史区 —— git commit -m “基础内容提交1”
此时会报错如图所示 因为我们是第一次使用git所以这个错误信息提示你需要设置 Git 的用户信息用户名和邮箱地址以便 Git 可以识别你的身份并将其包含在每次提交中。你可以按照以下步骤配置 Git 用户信息
设置全局用户信息推荐
打开命令提示符或终端窗口运行以下命令并将你的邮箱地址和用户名替换为实际信息
git config --global user.email youexample.com
git config --global user.name Your Name这将为全局 Git 配置设置默认的用户信息对所有的 Git 仓库都有效。这是推荐的做法因为它可以确保你在所有仓库中使用相同的身份信息。
然后再次进行提交 查看当前版本库状态 —— git status查看版本日志信息 —— git log
当对文件进行了修改但是没有进行添加到暂存区这一步骤时执行git status会显示以下内容 再次执行git add .和git status时 当我们将内容git commit -m “” 时即可提交成功同时编辑器文件名后面的图标也会消失 撤销工作区的修改 —— git checkout – 1.txt 撤销暂存 —— git restore --staged 1.txt 历史穿梭 git reset – hard HEAD^ “空格”git reset --hard 版本号
在代码中添加第五行的内容 在命令行依次执行git add . 和git commit -m 历史穿梭演示 然后我们执行git log命令来查看提交历史以确定你要回滚到哪个提交。记下你要回滚到的提交的哈希值。 如果你要回滚到前一个提交可以运行
bashCopy code
git reset --hard HEAD^或者如果你要回滚到前两个提交可以运行
bashCopy code
git reset --hard HEAD^^这将撤销最新的提交并将 HEAD 移动到指定的提交上。--hard 标志表示要清除工作目录和暂存区的更改确保它们与回滚后的提交匹配。
如我们要回滚到更新内容执行命令git reset --hard 4f54f25e8de1c3599fb21fb3ba3890f99b52442c同时查看历史记录和代码编辑器即历史穿梭已经被撤销。 16.2、代码托管
我们此次使用的是gitee作为远程平台首先需要注册并登录你的账号然后点击右上角有个“”进行新建仓库仓库只需要填写仓库名称即可。下面的复选框选择初始化仓库即可然后点击创建即可。然后会显示出如下界面 然后将上方的打码的链接地址进行复制然后回到命令行界面执行以下命令。
将本地仓库推送到远程平台上
git remote add origin https://gitee.com/****/git-learning-1.git
要验证是否成功执行了这个命令你可以运行以下命令来查看远程仓库的配置
git remote -v如果成功添加了远程仓库你应该能够看到你刚刚添加的远程仓库的 URL类似于
origin https://gitee.com/******/git-learning-1.git (fetch)
origin https://gitee.com/******/git-learning-1.git (push)这表示你已经成功将 “origin” 设置为你的远程仓库别名并且该别名指向了指定的远程仓库。然后执行以下命令将文件进行上传
git push -u origin “master”
第一次进行上传需要进行登录gitee的账号和密码然后再执行一次命令即可上传成功。 将远程仓库克隆到本地
git clone https://gitee.com/****/git-learning-1.git
先在远程建立一个新的仓库然后点击初始化readme文件点击克隆/下载复制链接打开命令行窗口退出刚才的文件目录转到根目录下执行上述命令根目录下就会创建一个和仓库名一样的文件夹。
然后用编辑器打开文件夹新建文件进行内容的输入然后打开命令行窗口切换到克隆的文件夹下依次执行如图所示的命令进行文件的上传。
git push —— 推送到远程 16.3、协同开发
单分支 将远程最新的修改拉取到本地 git pull 在推送之前先拉取 多分支 查看分支信息 git branch 创建新的分支 git branch 分支的名称 切换到某个分支 git checkout 分支的名称 创建并切换分支 git checkout -b 分支的名称 合并分支 git merge 分支的名称 删除分支 git branch -d 分支的名称 学习途径 狂神讲git gitee的Git大全 gitee的Git命令学习