文章目录
版本迭代:每次更新就会有新的版本,旧的版本需要保留。所以我们需要一个版本控制工具帮助我们处理这个问题
版本控制(Revision control)是一种在开发的过程中用于管理我们对文件,目录或工程等内容的修改历史,方便查看更改历史记录,备份以便恢复以前的版本的软件工程技术。
简单说就是用于管理多人协同开发项目的技术。
常见的版本控制工具
主流的版本控制器有如下这些:
版本控制产品非常多,现在影响力最大 且使用最广泛的Git.
Git下载官网 下载与自己电脑对应的版本即可
安装:无脑下一步即可!安装完毕即可使用了!
启动Git
安装完成后在桌面右击会有Git项

Git Bash:Unix与Linux风格命令行,使用最多,推荐最多
Git CMD:Windows风格命令(这个在安装后的开始菜单Git文件夹下)
Git GUI:图形界面的Git,不建议初学者使用,尽量先属性常用命令
使用Git之前首先要熟悉常用的Linux命令
基本的Linux命令学习

Git配置
假设在桌面新建一个gitcode文件夹(也可以在桌面直接右击打开,这里为了方便新建了一个空文件进行测试),进入该文件夹右击选择Git Bash选项打开,如下:

查看配置:git config -l

查看其它不同级别的配置文件
#查看系统的config
git config --system --list
#查看当前用户(global)配置
git config --global --list
配置用户名和邮箱
当安装Git后首先要做的是设置用户名和邮箱地址,这是非常重要的,因为每次Git提交都会使用该信息,它被永远的嵌入到你的提交中:
#配置用户名
git config --global user.name "xiaolan"
#配置邮箱
git config --global user.email 2717110178@qq.com
只需要做一次这样的设置,因为你传递了–global选项,Git将总是使用该信息来处理你系统中所做的一切操作。但如果你希望在不同的项目中使用不同的用户名和邮箱地址,你可以在该项目中运行上面命令时不加–global选项。总之–global为全局配置,不加为某个特定项目的配置。

重新查看配置:git config -l 发现最后两行多出了用户名和邮箱,说明配置成功

到这里GIt就配置完成了,其实就是配置用户名和邮箱而已,环境变量可以配置也可以不配置,配置环境变量是为了在电脑的任何地方都能使用,如通过cmd进行Git操作,当然软件在我们安装的时候它自己已经帮我们配置了。
工作区域
Git本地有三个工作区域:工作目录(Working Directory),暂存区(Stage/Index),资源库(Repository或Git Directory)。如果再加上远程的git仓库(Remove Directory)就可以分为四个工作区域。文件在这四个区域之间的转换关系如下:

以上四个工作区其实跟我们挂钩的只有工作区和远程仓库,暂存区和仓库区我们只需要通过命令操作即可
本都的三个区域确切的说应该是git仓库中HEAD指向的版本:

工作流程
git的工作流程一般是这样的:
在工作中添加,修改文件
将需要进行的版本管理的文件放入暂存区域
将暂存区域文件提交到git仓库
因此,git管理的文件有三种状态:已修改(modified),已暂存(staged),已提交(committed)

创建工作目录与常用指令
工作目录(WorkSpace)一般就是你希望Git帮助你管理的文件夹,可以是你的项目目录,也可以是空目录,建议不要有中文。
日常使用只需要记住下图6个命令:

本地仓库搭建
创建本地仓库的方法有两种:一种是创建全新的仓库,另一种是克隆远程仓库。
创建全新的仓库,需要用Git管理的项目的根目录执行:
#在当前目录新建一个Git代码库
git init
执行万命令后可以看到,仅仅在项目目录多出了一个.git目录(注意这个默认是隐藏的文件夹,需要手动在查看选项里面去掉隐藏的文件才能显示),关于版本等所有信息都在这个目录里面

克隆远程仓库
#克隆一个项目和它的整个代码历史(版本信息)
git clone 链接地址


这样就克隆完成了,生成的文件夹就是你克隆项目的源代码
上面j讲的是Git的基本配置和项目搭建,接下来才是关于如何操作文件内容
文件的四种状态
版本控制就是对文件的版本控制,要对文件进行修改,提交等操作,首先要知道文件当前什么状态,不然可能会提交了现在还不想提交的文件,或者要提交的文件没提交上。
查看文件状态
上面说的文件的4种状态,通过如下命令可以查看到文件的状态:
#查看制定文件状态
git status [文件名]
#查看所有文件状态
git status
#添加所有文件到暂存区
git add .
#提交暂存区中的内容到本地仓库 -m:提交的信息
git commit -m "信息"
在之前初始化仓库的文件夹中新建一个Hello.txt文件来测试:先执行git status查看文件状态

发现Hello.txt文件未被跟踪,然后我们先执行git add . 命令,再执行git status

发现Hello.txt已经放入暂存区了,等待提交,这时候再执行git commit -m ,最后再一次执行git status查看

发现文件已经提交成功了,没有可提交的文件
忽略文件
有些时候我们不想把某些文件纳入版本控制中,比如数据库文件,临时文件,设计文件等
在主目录下建立“.gitignore”文件,此文件有如下规则:
1.忽略文件中的空行或以井号(# )开始的行将会被忽略。
2.可以使用Linux通配符。例如∶星号(*)代表任意多个字符,问号(﹖)代表一个字符,方括号([abc] )代表可选字符范围,大括号( {string1,string2……})代表可选的字符串等。
3.如果名称的最前面有一个感叹号( !),表示例外规则,将不被忽略。
4.如果名称的最前面是一个路径分隔符(/ ),表示要忽略的文件在此目录下,而子目录中的文件不忽略。
5.如果名称的最后面是一个路径分隔符(/ ),表示要忽略的是此目录下该名称的子目录,而非文件(默认文件或目录都忽略)。
例如以下这些实例:
*.txt #忽略所有的.txt结尾的文件
!lib.txt #但lib.txt除外
/temp #进忽略项目根目录下的TODO文件,不包括其他目录temp
bulid/ #忽略bulid目录下的所有文件
doc/*.txt #会忽略doc/notes.txt 但是不包括doc/sever/arch.txt
github是有墙的,比较慢,在国内的话,我们一般使用gitee,公司中有时候会搭建自己的gitlab服务器
注册登录码云,完善个人信息
设置本机绑定SSH公钥,实现面密码登录!(码云是远程仓库,我们平时工作是在本地仓库,这样每次提交就需要输入密码)
#进入C:\users\Administrator\.ssh 目录,这个目录是在安装git之后就会自动生成的
#生成公钥
ssh-keygen
#如果想给公钥进行一些加密则 -t参数为算法类型如
ssh-keygen -t rsa

进入.ssh目录后右击打开Git Bash

刚开始.ssh文件夹是空的,执行命令ssh-keygen然后一路回车到命令执行完毕

执行完命令后会生成上图中的两个文件,公钥位于id_rsa.pub文件(另一个文件是私钥不用管)中,右击记事本打开然后复制粘贴到码云账户上即可

使用码云创建一个自己的仓库,根据自己的需求勾选一些属性,下面是我已经创建过了,当然可以创建多个仓库.

在本地克隆刚才创建的仓库测试

然后执行命令 git clone 链接地址,发我们自己创建的gitstuday仓库被克隆到本地了







到这里就演示完了IDEA集成Git的基本操作.
分支在Git中相对较难,分支就好比科幻电影里面的两个平行世界,如果两个平行世界互不干扰,那对现在的你也没啥影响。不过在某个时间点,两个平行世界合并了,我们就需要解决一些问题了!
总之,多个分支如果并行执行,就会导致我们代码不冲突,也就是同时存在多个版本!

git分支常用命令:
#列出本地所有分支
git branch
#列出所有远程分支
git branch -r
#新建一个分支,但依然停留在当前分支
git branch 分支名
#新建一个分支,并切换到该分支
git checkout -b 分支名
#合并指定分支到当前分支
git merge 分支名
#删除分支
git branch -d 分支名
#删除远程分支
git push origin --delete 分支名
git branch -dr 分支名

如果同一个文件在合并分支时都被修改了则会引起冲突∶解决的办法是我们可以修改冲突文件后重新提交master
主分支应该非常稳定,用来发布新版本,一般情况下不允许在上面工作,工作一般情况下在新建的dev分支,比如上要发布,或者说dev分支代码稳定后可以合并到主分支master上来。
1.postman介绍Postman一款非常流行的API调试工具。其实,开发人员用的更多。因为测试人员做接口测试会有更多选择,例如Jmeter、soapUI等。不过,对于开发过程中去调试接口,Postman确实足够的简单方便,而且功能强大。2.下载安装官网地址:https://www.postman.com/下载完成后双击安装吧,安装过程极其简单,无需任何操作3.使用教程这里以百度为例,工具使用简单,填写URL地址即可发送请求,在下方查看响应结果和响应状态码常用方法都有支持请求方法:getpostputdeleteGet、Post、Put与Delete的作用get:请求方法一般是用于数据查询,
在VMware16.2.4安装Ubuntu一、安装VMware1.打开VMwareWorkstationPro官网,点击即可进入。2.进入后向下滑动找到Workstation16ProforWindows,点击立即下载。3.下载完成,文件大小615MB,如下图:4.鼠标右击,以管理员身份运行。5.点击下一步6.勾选条款,点击下一步7.先勾选,再点击下一步8.去掉勾选,点击下一步9.点击下一步10.点击安装11.点击许可证12.在百度上搜索VM16许可证,复制填入,然后点击输入即可,亲测有效。13.点击完成14.重启系统,点击是15.双击VMwareWorkstationPro图标,进入虚拟机主
文章目录git常用命令(简介,详细参数往下看)Git提交代码步骤gitpullgitstatusgitaddgitcommitgitpushgit代码冲突合并问题方法一:放弃本地代码方法二:合并代码常用命令以及详细参数gitadd将文件添加到仓库:gitdiff比较文件异同gitlog查看历史记录gitreset代码回滚版本库相关操作远程仓库相关操作分支相关操作创建分支查看分支:gitbranch合并分支:gitmerge删除分支:gitbranch-ddev查看分支合并图:gitlog–graph–pretty=oneline–abbrev-commit撤消某次提交git用户名密码相关配置g
1.1.1 YARN的介绍 为克服Hadoop1.0中HDFS和MapReduce存在的各种问题⽽提出的,针对Hadoop1.0中的MapReduce在扩展性和多框架⽀持⽅⾯的不⾜,提出了全新的资源管理框架YARN. ApacheYARN(YetanotherResourceNegotiator的缩写)是Hadoop集群的资源管理系统,负责为计算程序提供服务器计算资源,相当于⼀个分布式的操作系统平台,⽽MapReduce等计算程序则相当于运⾏于操作系统之上的应⽤程序。 YARN被引⼊Hadoop2,最初是为了改善MapReduce的实现,但是因为具有⾜够的通⽤性,同样可以⽀持其他的分布式计算模
关于如何使用git设置类似Dropbox的服务,您有什么建议吗?您认为git是解决此问题的合适工具吗?我在考虑使用git+rush解决方案,你觉得怎么样? 最佳答案 检查这个开源项目:https://github.com/hbons/SparkleShare来自项目的自述文件:Howdoesitwork?SparkleSharecreatesaspecialfolderonyourcomputer.Youcanaddremotelyhostedfolders(or"projects")tothisfolder.Theseprojec
我编写了一个非常简单的“部署”脚本,作为我的裸git存储库中的post-updateHook运行。变量如下livedomain=~/mydomain.comstagingdomain=~/stage.mydomain.comgitrepolocation=~/git.mydomain.com/thisrepo.git(bare)core=~/git.mydomain.com/thisrepo.gitcore==addedremoteintoeachlive&stagegitslive和stage都初始化了gitrepos(非裸),我已经将我的裸仓库作为远程添加到它们中的每一个(名为co
我正在安装gitlabhq,并且在Gemfile中有对某些资源的“git://...”的引用。但是,我在公司防火墙后面,所以我必须使用http://。我可以手动编辑Gemfile,但我想知道是否有另一种方法告诉bundler使用http://作为git存储库? 最佳答案 您可以通过运行gitconfig--globalurl."https://".insteadOfgit://或通过将以下内容添加到~/.gitconfig:[url"https://"]insteadOf=git://
有没有办法快速将表格格式的ruby哈希打印到文件中?如:keyAkeyBkeyC...1232343451253474456...其中散列的值是不同大小的数组。还是使用双循环是唯一的方法?谢谢 最佳答案 试试我写的这个gem(在表中打印散列、ruby对象、ActiveRecord对象):http://github.com/arches/table_print 关于ruby-如何以表格格式快速打印Ruby哈希值?,我们在StackOverflow上找到一个类似的问题:
我是Ruby新手,并被要求在我们的新项目中使用它。我们还被要求使用Padrino(Sinatra)作为后端/框架。我们被要求使用Rspec进行测试。我一直在寻找可以指导在Padrino上使用RspecforRuby的教程。我得到的主要是引用RoR。但是,我需要RubyonPadrino。请在任何入门/指南/引用/讨论等方面指导我。如有不妥之处请指正。可能是我没有针对我的问题搜索正确的词/短语组合。我正在使用Ruby1.9.3和Padrinov.0.10.6。注意:我还提到了SOquestion,但它没有帮助。 最佳答案 我没用过Pa
Activeadmingem已添加到我的rails项目中,但每次我尝试安装railsgactive_admin:install时,我都会收到类似的错误git://github.com/activeadmin/activeadmin.git(atmaster)isnotyetcheckedout.Runbundleinstallfirst.我肯定在运行“railsgactive_admin:install”之前运行了bundle。运行“bundleshow”后,我看到我已将“*activeadmin(1.0.0.pre3f916d6)”添加到我的项目中,但不断收到此错误消息。我的gem文