Git从入门到入土

Git介绍

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

我们可以在官网中找到其说明文档,十分的详细并且使用简单。

下载并安装

官网说明文档已经十分详细了,里面包含了weindows、Linux、mac的安装步骤,这里就拿Windows举例:

下载完后,一直点下一步即可,安装完毕后再桌面右击鼠标如果出现下面两个选型说明安装完毕

image

本地仓库

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

版本提交

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

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

image

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

然后输入git init (将这个目录变成Git可以管理的仓库)当命令生效后,会生成一个.git的隐藏文件夹,如下所示

image

然后我们可以使用git status来检测当前文件夹中被管理的文件状态。

image

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

此时就需要我们管理该文件,使用add命令,告诉git,把文件添加到仓库。

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

当我们管理后再使用git status 查看状态后就变成绿色了,然后使用git commot告诉Git,把文件提交到仓库中,如下所示:

image

这里Git告诉你又异常,让你进行用户信息的配置,输入账号密码等信息。我们只需要按照提示配置一下个人信息即可,配置后再次提交如下所示:

image

到此我们就完整的提交了我们的文件到远程仓库中,可以使用git log查看一下生成的版本。

我们总结下我们刚才用到的命令:

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

版本回滚

  • 高版本回滚到低版本

    • 首先使用git log查看提交日志
    • 然后使用git reset --hard 版本号进行回滚

image

  • 同样的也可以从低版本回滚到高版本

    • 首先就不能使用git log而是使用git reflog查看日志
    • 然后使用git reset --hard 版本号进行回滚

image

照例我们总结一下

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

分区概念

在上面的操作中,我们可以发现一个文件有多个状态:

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

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

image

使用分支

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

image

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

常用命令如下所示

命令 描述
git branch 查看当前项目的所有分支(分支前*表示当前处于的分支)
git branch 分支名 创建一个新的分支
git checkout 分支名 切换分支
git merge 要合并的分支 合并分支(先切换分支)
git branch -d 分支名 删除分支

合并冲突

由于分支冲突,可能会出现多条分支修改同一处代码的情况,这个时候就出现了合并冲突的问题,由于Git并不知道听谁的,所以就全部将其保留,由你进行手动修改。

远程推送

上面讲的很热闹,但是都是基于本地仓库的,真正在使用的时候,是要和其他人进行协同操作的,这也是Git的一大优势。

Git是一款分布式的版本控制软件,可以选择的远程版本库很多,这里就介绍我们最常用的GItHub。

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

创建仓库

当我们登录GitHub后,首先要做的就是常见一个远程仓库。首先现打开仓库页面,

image

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

image

创建完成后将会看到下面的页面

image

到此为止我们的仓库就创建完毕了,后面就可以使用了

推送代码

按照上面的提示我们开始推送代码到GitHub

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

然后就可以看到我们的文件成功上传了

image

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

git push -u origin dev

总结:

命令 描述
git remote add 别名 仓库地址 给仓库取一个别名
git push -u origin 分支名 将分支推送到远程仓库

需要注意的是:

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

拉取代码

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

首先要创建一个文件夹来保存代码,然后直接拉取即可,

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

分区概念

由于涉及到了远程仓库,所以又多了一个分区,如下所示

image

其中使用增量更新的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和计算机基础知识,保证让你看完有所收获,不信你打我
  • 求一键三连:点赞、转发、在看。
  • 如果看完有不同的意见或者建议,欢迎多多评论一起交流。感谢各位的支持以及厚爱。

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

image

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

猜你喜欢

转载自blog.csdn.net/issunmingzhi/article/details/112980517