Git介绍

Git是开发中必须用到的分布式的版本控制软件,这是其官网Git。

咱们能够在官网中找到其阐明文档,非常的具体并且应用简略。

下载并装置

官网阐明文档曾经非常具体了,外面蕴含了weindows、Linux、mac的装置步骤,这里就拿Windows举例:

下载完后,始终点下一步即可,装置结束后再桌面右击鼠标如果呈现上面两个选型阐明装置结束

本地仓库

因为Git是分布式的版本控制软件,所以咱们首先要学习的就是如何将代码提交到本地,而后提交至远端代码库。

版本提交

在Git中,咱们首先要做的就是对一个我的项目进行治理。

进入我的项目文件夹,执行初始化命令即可由Git接管以后我的项目的版本控制。如下所示

而后右键,抉择Git Bash Here后进入终端,让Git接管MyProject文件夹。

而后输出git init (将这个目录变成Git能够治理的仓库)当命令失效后,会生成一个.git的暗藏文件夹,如下所示

而后咱们能够应用git status来检测以后文件夹中被治理的文件状态。

此时新增的文件和批改后的文件均属于未被治理的文件,出现红色,如上所示。

此时就须要咱们治理该文件,应用add命令,通知git,把文件增加到仓库。

  • git add 文件夹名 # 仅仅治理一个文件
  • git add . # 代表当前目录下的所有文件

当咱们治理后再应用git status 查看状态后就变成绿色了,而后应用git commot通知Git,把文件提交到仓库中,如下所示:

这里Git通知你又异样,让你进行用户信息的配置,输出账号密码等信息。咱们只须要依照提醒配置一下个人信息即可,配置后再次提交如下所示:

到此咱们就残缺的提交了咱们的文件到近程仓库中,能够应用git log查看一下生成的版本。

咱们总结下咱们方才用到的命令:

命令形容
git init初始化git,让Git接管以后文件夹
git status查看以后文件状态,新增或批改的文件都出现红色,而执行了add命令后会出现绿色
git add [./filename]将文件进行提交
git commit -m "形容音讯"生成一个版本
git log查看版本信息。

版本回滚

  • 高版本回滚到低版本
    • 首先应用git log查看提交日志
    • 而后应用git reset --hard 版本号进行回滚

  • 同样的也能够从低版本回滚到高版本
    • 首先就不能应用git log而是应用git reflog查看日志
    • 而后应用git reset --hard 版本号进行回滚

照例咱们总结一下

命令形容
git log查看版本提交信息,用于高版本回滚低版本
git reflog查看版本提交信息,用于低版本回滚高版本
git reset --hard 版本号进行版本回滚

分区概念

在下面的操作中,咱们能够发现一个文件有多个状态:

  • 以管制状态:指该文件能够被git治理的状态,目前来讲所有位于git init文件夹下的文件都是以管制状态
  • 以变动状态:当有新文件,或本来文件被批改后,应用git status出现红色状态的文件
  • 暂存区状态:指的是执行git add命令后,红色状态文件变为绿色状态的文件
  • 版本库状态:指的是执行git commit命令后,提交至版

这些不同的状态对应不同的分区,因为此时咱们做的都是本地版本控制,所以这里的版本库即为本地版本库

应用分支

分支是Git中非常重要的一个概念,它能够让你解决更多的突发状况,以及让你更好的进行协同操作开发。让你在开发中,多个分支互不影响,有正式版本,和开发版本等等,如下所示

这样咱们不同的分支中所看到的已提交版本并不相同,当在某一分支中创立新的分支,该子分支将继承以后分支节点中的所有文件,默认是有一个master分支。

常用命令如下所示

命令形容
git branch查看以后我的项目的所有分支(分支前*示意以后处于的分支)
git branch 分支名创立一个新的分支
git checkout 分支名切换分支
git merge 要合并的分支合并分支(先切换分支)
git branch -d 分支名删除分支

合并抵触

因为分支抵触,可能会呈现多条分支批改同一处代码的状况,这个时候就呈现了合并抵触的问题,因为Git并不知道听谁的,所以就全副将其保留,由你进行手动批改。

近程推送

下面讲的很冷落,然而都是基于本地仓库的,真正在应用的时候,是要和其他人进行协同操作的,这也是Git的一大劣势。

Git是一款分布式的版本控制软件,能够抉择的近程版本库很多,这里就介绍咱们最罕用的GItHub。

首先就是注册一个用户,这里就不演示了。

创立仓库

当咱们登录GitHub后,首先要做的就是常见一个近程仓库。首先现关上仓库页面,

而后点击NEW新建一个仓库,如下所示

创立实现后将会看到上面的页面

到此为止咱们的仓库就创立结束了,前面就能够应用了

推送代码

依照下面的提醒咱们开始推送代码到GitHub

git remote add origin https://https://github.com/iszhonghu/Test.gitgit push -u origin master

而后就能够看到咱们的文件胜利上传了

这里只是上传的master分支,如果要是想上传dev分支,则还是须要输出push命令

git push -u origin dev

总结:

命令形容
git remote add 别名 仓库地址给仓库取一个别名
git push -u origin 分支名将分支推送到近程仓库
须要留神的是:

推送代码时,须要一个一个分支进行推送

拉取代码

既然能够推送代码也就能够拉取代码,以不便实现协同办公。

首先要创立一个文件夹来保留代码,而后间接拉取即可,

命令形容
git clone 近程仓库地址克隆近程仓库所有代码(仅第一次应用)
git pull origin 分支名增量更新某一分支中的代码

分区概念

因为波及到了近程仓库,所以又多了一个分区,如下所示

其中应用增量更新的pull实际上能够拆分为两条命令

  • git fetch origin 分支 将近程版本库中的分支代码拉到本地版本库中
  • git marge origin 分支 将本地版本库中代码合并到本地分支中

其余操作

配置文件

Git的配置文件有三个局部:

  • 仓库级的配置文件:在仓库的 .git/.gitconfig,该配置文件只对所在的仓库无效。
    • local
  • 全局配置文件:Mac零碎在 ~/.gitconfig,Windows零碎在 C:Users<用户名>.gitconfig。
    • global
  • 零碎级的配置文件:在Git的装置目录(Mac零碎下装置目录在 /usr/local/git)的 etc 文件夹中的 gitconfig。
    • system

SSH

应用SSH能够实现代码的推送和拉取

  • 生成公钥和秘钥
    • ssh-keygen
      • 默认放在/.ssh目录下,其中id_rsa.pub为公钥,id_rsa为私钥

总结

上面是一些在本文章中有的命令:

命令形容
git init初始化
git status查看状态
git add治理指定文件
git commit -m "形容"生成版本
git log查看版本记录(之前)
git reflog查看版本记录(之后)
git reset --hard 版本号版本回滚
git branch查看所有分支
git branch 分支名创立新分支
git checkout 分支名切换分支
git merge分支合并
git branch -d 分支名删除分支
git remote add 别名 地址近程仓库取别名
git push -u 别名 分支推送某分支到近程仓库
git clone 地址克隆近程仓库代码
git pull 别名 分支拉取近程仓库中某一分支代码,增量更新
git rebase -i HEAD~条数版本合并

最初

  • 如果感觉看完有播种,心愿能关注一下,顺便给我点个赞,这将会是我更新的最大能源,感激各位的反对
  • 欢送各位关注我的公众号【java冢狐】,专一于java和计算机基础知识,保障让你看完有所播种,不信你打我
  • 求一键三连:点赞、转发、在看。
  • 如果看完有不同的意见或者倡议,欢送多多评论一起交换。感激各位的反对以及厚爱。

——我是冢狐,和你一样酷爱编程。

欢送关注公众号“ Java冢狐”,获取最新消息