Git是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。
在团队开发中git是必不可少的,它是目前为止最流行的版本控制工具
Git是免费、开源的,由Linux之父花了两周时间写出来的(人与人之间的差距怎么这么大!)
b站狂神:有道无术、术尚可求,有术无道、止于术!
除了git还有svn之类的版本控制系统,它们主要区别在于一个是分布式,一个是集中式
分布式
代表:Git
分布式版本控制系统,每个人的电脑都相当于服务器,当你拉取仓库的代码后,你的电脑就是一个完整的版本库,工作时不需要联网,所有版本都在自己的本机里,当你想把自己的代码提交到主仓库时,只需要在联网时合并推送到主仓库就可以了。
集中式
代表:SVN
集中式版本控制系统,都有一个统一的版本号,放在一个统一的服务器上,工作时把最新的版本的代码拉取到电脑上,代码完成后在把写完的代码推送到服务器上,由于所有的操作都需要服务器的支持,对网络要求比较大,而且如果服务器里的数据出了问题,那么所有的数据都会丢失,本机客户端仅保存当前版本的信息。
下载
git官网下载:https://git-scm.com/download/win(速度较慢,不推荐)
镜像下载:https://registry.npmmirror.com/binary.html?path=git-for-windows/
安装
下载对应版本后无脑安装即可(更改安装位置的注意一下安装位置)
安装完git后会在开始菜单和右键文件夹下看到对应的git程序,这是因为在刚才安装时候无脑下一步的结果,由于个人不喜欢右键菜单项多出来东西,所以这里介绍下怎么删除它
删除右键菜单项
Win+R输入regedit打开注册表
进入右键菜单目录:HKEY_CLASSES_ROOT\Directory\Background\shell
删除下面两个文件夹即可
HKEY_CLASSES_ROOT\Directory\Background\shell\git_shell
HKEY_CLASSES_ROOT\Directory\Background\shell\git_gui
在安装完Git后,是需要一些全局配置的
这里不配置也可以,当遇到要求登陆权限的远程仓库时会让你在手动输入用户名、邮箱、以及密码
Git配置
列出配置的所有命令:git config
设置用户名和密码:
git config --global user.name "your name" // 设置全局用户名
git config --global user.email "your email" // 设置邮箱
这里的 --global 为全局配置,如果要在特定的的项目中使用不同的名称,那就不使用该参数,只为当前所在仓库配置。
查看所有配置:git config -l

Git相关的配置文件:
C:\Users\你的用户名\.gitconfig你的安装目录\Git\etc\gitconfig三大区域
git在本地分为三个区域,分别为工作区、缓存区和资源区(本地),其实还有一个远程的一个仓库区,但不在本地就不做过多解释
工作区:平时放项目代码的地方,包括git已经管理的文件区域和新增以及修改的文件区域
缓存区:用于临时存放改动的代码,它本质上是一个文件,把工作区的部分或者全部已经确认需要保存的文件提交至暂存区,先保存一下,如果确认好了可以直接提交到本地仓库中,如果暂时不能做决定可以暂时先放到暂存区,等待下一步操作。
资源区:又称作版本库或仓库区,将某一个历史节点的保存文件列表当做是一个版本,这里面有你提交到所有版本的数据,其中的HEAD指针默认指向最新放入仓库的版本
仓库区:远程的仓库,托管代码的服务器,可以是Gitee、GitHub
工作流程
git的工作流程:

创建 Git 版本库
首先,你需要新建一个存放版本库的目录,然后进入到该目录所在路径,然后执行:
# 在当前目录新建一个Git代码库
git init
如果在目录中看到包含有.git的隐藏目录,那就证明创建成功
克隆远程版本库
将远程服务器上的仓库完全镜像一份到本地上
# 克隆一个项目和它的所有版本信息
git clone [url] # https://gitee.com/xuande-hk/xuande-hk.git
我这里克隆到是我静态博客地址,可以更该为别的地址
分支管理
一般情况下master主分支应当保存最稳定的代码,工作时应当在新建的dev分支上工作,当发布时把dev代码合并到主分支master上
文件状态
已暂存状态(staged),表示对一个已修改文件的当前版本做了标记,使之包含在下次提交的快照,git add.命令可以将文件状态改为staged
已修改状态(modified),表示修改了文件,但是还没有保存到数据库中
已提交状态(committed),表示数据已经安全的保存在本地数据库中
管理文件命令
# 查看指定文件状态
git status [filename]
# 查看所有文件状态
git status
# 添加单个文件到暂存区
git add [filename]
# 添加所有文件到暂存区
git add .
# 如果暂存区有文件,则将其中的文件提交到仓库
git commit
# 带注释提交,说明你增加或修改的内容
git commit -m 'your comments'
# 查看版本库中所有的改动
git diff
# 查看具体文件的改动
git diff Readme.md
# 显示所有提交的历史记录
git log
# 单行显示提交历史记录的内容
git log --pretty=oneline
# 回退到上一个提交版本
git reset --hard HEAD^
# 回退到上上一个提交版本
git reset --hard HEAD^^
# 回退到未来的某个版本
git reflog
# 会退到 commit_id 指定的提交版本
git reset --hard 'commit_id'
# 如果指定文件在工作区,则丢弃其修改
git checkout -- [filename]
# 丢弃当前目录下所有工作区中文件的修改
git checkout -- .
# 删除已经被提交过的文件
git rm [filename]
分支是版本控制系统中很重要的一个概念,在 Git 中新建、合并等分支的操作非常轻量便捷,因此我们会很经常的用到。
# 查看本地分支信息
git branch
# 查看相对详细的本地分支信息
git branch -v
# 查看包括远程仓库在内的分支信息
git branch -av
# 新建一个名称为 dev 的分支
git branch dev
# 新建完 dev 分支以后,通过该命令切换到 dev 分支
git checkout dev
# 新建 dev 分支,并切换到该分支上
git checkout -b dev
# 切换回 master 分支
git checkout master
# 合并指定分支到当前分支
git merge [branch]
# 删除 dev 分支
git branch -d dev
上面的所有命令都是针对本地仓库的操作。但是当我们多个人来协作时,会将代码发布到一个统一的远程仓库,当多个人在本地操作完成以后,会推送到远程仓库。其他人协作时,需要先同步远程仓库的内容,再推送自己的修改。
# git clone 后面的仓库地址,可以支持多种协议,如 https, ssh 等。
git clone https://github.com/git/git.git
# 为本地仓库添加远程仓库
git remote add origin your_remote_git_repo
# 第一次推送时使用,可以简化后面的推送或者拉取命令使用
git push -u origin master
# 将本地 master 分支推送到 origin 远程分支
git push origin master
# 拉取远程仓库内容,但不会自动合并
git fetch origin master
# 拉取远程仓库内容,自动合并
git pull origin master
# 查看远程仓库信息
git remote [-v]
# 建立本地分支和远程分支的关联
git branch --set-upstream 'local_branch' origin/remote_branch
# 修改本地仓库对应的远程仓库地址
git remote set-url origin [url]
在项目开发过程中,当一个版本发布完成时,是需要对代码打上标签,便于后续检索。获处于其他的原因,需要对某个提交打上特定的标签。
# 创建标签
git tag -a 'tagname' -m 'comment' 'commit_id'
# 查看本地仓库中的所有标签
git tag
# 查看具体标签信息
git show tagname
# 删除本地标签
git tag -d tagname
# 推送标签到远程仓库
git push origin tagname
# 推送所有标签到远程仓库
git push origin --tags
# 删除远程标签
git push origin --delete tagname
绑定IDEA
IDEA版本2021.3.2
git版本:2.36.0
操作系统:win10
打开idea,找到vcs,创建仓库

创建以后vcs会变成git,点击git后找到管理远程

添加远程仓库的地址(没有的话去gitee或者github建一个仓库)

之后点击提交就可以了(需要输入提交信息)

注:控制台输入命令也可以实现
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新手,并被要求在我们的新项目中使用它。我们还被要求使用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文
这个问题在这里已经有了答案:Rubymetaclassconfusion(4个答案)关闭7年前。我对Ruby对象模型不太了解。首先,Ruby中的一切都是Class的实例吗??这些都产生true:pObject.instance_of?(Class)pClass.instance_of?(Class)pModule.instance_of?(Class)pBasicObject.instance_of?(Class)classHello;endpHello.instance_of?(Class)我不太明白这怎么可能,如果Object是Class的父类(superclass),它怎么可能都